{"adoption": {"forks": 38, "observed_at": "2026-08-28T04:04:50.635737+00:00", "stars": 1479}, "canonical_url": "https://ross.abutalabs.com/products/reassure", "card": {"archived": false, "artifact_type": "library", "description": "Performance testing companion for React and React Native", "domain": ["testing", "frontend", "performance", "developer-tools", "mobile-development"], "enriched": true, "function": ["testing", "benchmarking"], "health_score": 96, "homepage": "https://callstack.github.io/reassure/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["callstack/reassure"], "name": "callstack/reassure", "platform": ["cross-platform", "cli"], "pushed_at": "2026-07-22T08:04:10+00:00", "repo": "callstack/reassure", "stars": 1479, "tags": ["react", "react-native", "performance-regression", "ci-integration", "statistical-analysis", "nodejs"], "topics": ["performance", "performance-testing", "react", "react-native", "regression", "testing", "hacktoberfest"], "urls": [], "use_cases": ["catch performance regressions in react native apps automatically", "write performance tests alongside react native testing library tests", "measure render duration and render counts of react components", "run performance regression checks on CI for pull requests", "benchmark function and async function performance in javascript", "compare performance between stable branch and code changes"], "what_it_is": "Reassure is a performance testing library for React and React Native that automates performance regression testing. It measures render duration and counts across repeated runs, applies statistical analysis, and generates human-readable reports for CI or pull request comments.", "when_to_avoid": ["you need deep profiling like flame graphs or CPU sampling from a profiler tool", "your project is not React or React Native", "you need load or stress testing of servers rather than component render performance"], "when_to_choose": ["you maintain a React or React Native app and want automated performance regression detection", "you already use React Native Testing Library and want to extend tests into performance tests", "you want statistical significance analysis rather than single-run benchmarks", "you need performance reports posted to pull requests via CI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/reassure", "repo": "callstack/reassure", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "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:04:50.635737+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.635737+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:18.631730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7280add5534005d6ca4822e5eef83c5c0f199d3c6597bbae11b2a4e85f371130", "fetched_at": "2026-08-28T04:04:50.635737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/callstack/reassure"}, {"content_hash": "7a6b8d9147931c6e3a2e0dc3564322e95445eb74c999982e7ba847fd3b1d2541", "fetched_at": "2026-08-29T11:41:32.064528+00:00", "kind": "homepage", "missing": false, "url": "https://callstack.github.io/reassure/"}, {"content_hash": "07c00a4a3374d9708c9d1ab5dd8a7f7ce9aeaf3a9381c8f9602c459d9c629121", "fetched_at": "2026-08-29T11:41:32.073776+00:00", "kind": "site_page", "missing": false, "url": "http://oss.callstack.com/reassure/docs/introduction"}, {"content_hash": "36d3927126acb3834f91fa236224dd38839cfd421bb9b663a0426476d4fed28a", "fetched_at": "2026-08-29T11:41:32.075881+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/reassure"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 82}, "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": 1651, "days_push": 42, "days_rel": 42, "gap_med": 36.5, "n_releases_24m": 7}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}