# googlearchive/observe-js

A library for observing Arrays, Objects and PathValues

Repository: https://github.com/googlearchive/observe-js
Canonical: https://ross.abutalabs.com/products/observe-js
Language: JavaScript
License Family: other
Archived: true
Last push: 2015-11-12T23:10:07+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 5136, "days_push": 3947, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1342, forks 113 (observed 2026-08-28T04:04:26.295074+00:00)

## What it is
observe-js is a JavaScript library for observing changes to Arrays, Objects, and PathValues, exposing observers like PathObserver, ArrayObserver, ObjectObserver, and CompoundObserver. It uses the native Object.observe API when available and falls back to dirty-checking otherwise.

## Use cases
- watch for changes to javascript object properties
- observe array mutations and get minimal splices
- react to changes at a nested object path
- build data binding for a web framework
- detect changes in javascript data structures

## When to choose
- maintaining legacy Polymer-era code that already depends on it
- targeting very old environments where you need Object.observe-style observation with a dirty-checking fallback

## When to avoid
- starting any new project - it is archived and Object.observe was removed from browsers
- modern reactive UIs - use Proxies, RxJS, or framework reactivity instead

## Facets
- artifact type: library
- maturity: abandoned
- function: state-management, developer-tools
- domain: web-development, frontend
- platform: browser
- tags: data-binding, object-observe, dirty-checking, polymer, archived, javascript, nodejs

## Member repositories
- googlearchive/observe-js (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:26.295074+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:43:05.531619+00:00, confidence not recorded.
  - readme: https://github.com/googlearchive/observe-js (fetched 2026-08-28T04:04:26.295074+00:00, sha e3a537a00d5c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
