{"adoption": {"forks": 328, "observed_at": "2026-08-28T04:09:43.541540+00:00", "stars": 6456}, "canonical_url": "https://ross.abutalabs.com/products/baconjs", "card": {"archived": false, "artifact_type": "library", "description": "Functional reactive programming library for TypeScript and JavaScript", "domain": ["web-development", "frontend", "programming-languages"], "enriched": true, "function": ["state-management", "developer-tools"], "health_score": 30, "homepage": "https://baconjs.github.io", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["baconjs/bacon.js"], "name": "baconjs/bacon.js", "platform": ["browser", "cross-platform"], "pushed_at": "2025-04-18T11:27:53+00:00", "repo": "baconjs/bacon.js", "stars": 6456, "tags": ["functional-reactive-programming", "event-streams", "observables", "frp", "typescript", "reactive-programming", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["handle UI click events as declarative event streams", "debounce and dedupe user input for search-as-you-type queries", "accumulate state from events with scan (e.g., a counter)", "combine async data from multiple sources with merge and combine", "replace nested callback spaghetti with functional event composition", "reactive programming in Node.js server code"], "what_it_is": "Bacon.js is a functional reactive programming (FRP) library for TypeScript and JavaScript, built around event streams and observable properties. It lets developers compose asynchronous events declaratively with combinators like map, filter, merge, combine, flatMap, and scan instead of imperative callback code.", "when_to_avoid": ["your team already standardizes on RxJS or another reactive library", "you need a full reactive state management solution with store integration", "you want a library with very active recent development and large community"], "when_to_choose": ["you want a lightweight, mature FRP library with first-class TypeScript types", "you prefer event streams and properties over RxJS's larger API surface", "you need to tame complex asynchronous event handling in browser or Node apps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/baconjs", "repo": "baconjs/bacon.js", "role": "main", "score": 40}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.541540+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:44:38.392279+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "920c4646cbaecd3a4fb7147d70b50e759bb86b751a496d539938ec2f18b34c79", "fetched_at": "2026-08-28T04:09:43.541540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/baconjs/bacon.js"}, {"content_hash": "2d4c4a7e64719012959474b65bd5e3501308bb7b9294e5463a4638e5ebef62da", "fetched_at": "2026-08-29T08:41:35.434409+00:00", "kind": "homepage", "missing": false, "url": "https://baconjs.github.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 17, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5297, "days_push": 502, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 40, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}