{"adoption": {"forks": 46, "observed_at": "2026-09-03T02:15:19.903734+00:00", "stars": 1090}, "canonical_url": "https://ross.abutalabs.com/products/re-reselect", "card": {"archived": false, "artifact_type": "library", "description": "Enhance Reselect selectors with deeper memoization and cache management.", "domain": ["frontend", "web-development", "developer-tools", "performance"], "enriched": true, "function": ["caching", "state-management"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["toomuchdesign/re-reselect"], "name": "toomuchdesign/re-reselect", "platform": ["browser", "cross-platform"], "pushed_at": "2026-09-03T00:18:53+00:00", "repo": "toomuchdesign/re-reselect", "stars": 1090, "tags": ["reselect", "redux", "react", "memoization", "selector-library", "typescript", "nodejs"], "topics": ["reselect", "reactjs", "memoization"], "urls": [], "use_cases": ["retain selector cache when calling with different arguments", "share memoized selectors across multiple React component instances", "join similar selectors into one cached selector", "instantiate selectors on the fly at runtime", "add custom caching strategies to reselect", "avoid expensive recomputation when alternating selector arguments"], "what_it_is": "A lightweight TypeScript wrapper around Reselect that adds deeper memoization and cache management to Redux selectors. It maintains a cache of per-argument selectors so switching between different arguments no longer invalidates memoized results.", "when_to_avoid": ["you are on Reselect v5+, which natively supports custom memoization via createSelector options", "your selectors are always called with the same arguments and default single-entry caching suffices", "you are starting a new project and can adopt Reselect's built-in caching features instead"], "when_to_choose": ["you use Reselect selectors that get called with varying arguments and lose their memoization", "you need to share selectors with props across many component instances", "you are on an older Reselect version (pre-v5) without native custom memoization options", "you want fine-grained control over selector cache keys and eviction"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/re-reselect", "repo": "toomuchdesign/re-reselect", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:19.903734+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:49:15.545098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "137871bd29e29394b9e81c79025d8c122669090666915b3a832c1f39d1e602c9", "fetched_at": "2026-09-03T02:15:19.903734+00:00", "kind": "readme", "missing": false, "url": "https://github.com/toomuchdesign/re-reselect"}, {"content_hash": "a871873096ce98785a7241c77691dbe8a8864621875024c879cf084fb4ec1a85", "fetched_at": "2026-08-29T12:51:26.503975+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/re-reselect"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 63}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3478, "days_push": 0, "days_rel": 35, "gap_med": null, "n_releases_24m": 1}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}