{"adoption": {"forks": 15, "observed_at": "2026-08-28T04:03:54.523654+00:00", "stars": 1183}, "canonical_url": "https://ross.abutalabs.com/products/its-fine", "card": {"archived": false, "artifact_type": "library", "description": "🐶🔥 A collection of escape hatches for React.", "domain": ["frontend", "web-development", "developer-tools"], "enriched": true, "function": ["ui-components", "developer-tools"], "health_score": 35, "homepage": "https://npmjs.com/its-fine", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["pmndrs/its-fine"], "name": "pmndrs/its-fine", "platform": ["browser", "cross-platform"], "pushed_at": "2025-02-18T15:45:41+00:00", "repo": "pmndrs/its-fine", "stars": 1183, "tags": ["react", "react-fiber", "hooks", "reconciler", "context-bridge", "typescript", "nodejs"], "topics": ["fiber", "hooks", "internal", "react", "reconciler"], "urls": [], "use_cases": ["access the current component's React Fiber node from within a component", "bridge React context across renderers like react-three-fiber portals", "traverse or query the React Fiber tree from a component", "build custom React abstractions that depend on reconciler internals", "get the react-reconciler container info from a component", "map and inspect context values in the component tree"], "what_it_is": "A TypeScript library of escape hatches for React that lets components access the internal React Fiber tree. It provides hooks like useFiber, useContainer, and useContextBridge for building abstractions that modify or extend React's reconciliation behavior.", "when_to_avoid": ["you only need standard React features available through public APIs", "you want to avoid depending on React implementation details that may change between versions", "you're building a simple app with no need for reconciler-level access"], "when_to_choose": ["you need access to React Fiber internals that React's public API doesn't expose", "you're building a custom React renderer or library like react-three-fiber", "you need to bridge context across renderers or portals", "you're writing tooling or abstractions that inspect the component tree"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/its-fine", "repo": "pmndrs/its-fine", "role": "main", "score": 26}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "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:03:54.523654+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.523654+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:24:37.994896+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea586f2d76e3fc54584eee62f52f0d0e277cf8219d936b9e1a8b61d8e3f47f60", "fetched_at": "2026-08-28T04:03:54.523654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/its-fine"}, {"content_hash": "f18b06e4c99ea1094f43619f86d4718e803f316113404e35448fdf8e617126a0", "fetched_at": "2026-08-29T12:31:26.376497+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/its-fine"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 7, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1459, "days_push": 561, "days_rel": 561, "gap_med": null, "n_releases_24m": 1}, "score": 26, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}