{"adoption": {"forks": 51, "observed_at": "2026-08-28T04:05:22.177477+00:00", "stars": 1687}, "canonical_url": "https://ross.abutalabs.com/products/idx", "card": {"archived": true, "artifact_type": "library", "description": "Library for accessing arbitrarily nested, possibly nullable properties on a JavaScript object.", "domain": ["web-development", "frontend", "developer-tools"], "enriched": true, "function": ["developer-tools"], "health_score": 10, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["facebook/idx"], "name": "facebook/idx", "platform": ["browser"], "pushed_at": "2024-01-10T18:53:12+00:00", "repo": "facebook/idx", "stars": 1687, "tags": ["optional-chaining", "null-safety", "babel-plugin", "deprecated", "flow", "typescript", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["safely access deeply nested properties that may be null or undefined", "avoid long chains of && guards when reading nested object data", "traverse nullable arrays and objects in React props", "get null-safe property access with Flow or TypeScript type checking", "replace verbose null checks in legacy JavaScript codebases"], "what_it_is": "idx is a JavaScript utility for safely traversing arbitrarily nested, possibly nullable properties on objects and arrays, paired with a Babel plugin that compiles calls into efficient null checks. It is now deprecated in favor of native optional chaining.", "when_to_avoid": ["starting a new project - use native optional chaining (?.) instead", "your runtime already supports optional chaining", "you need maintained software with ongoing support"], "when_to_choose": ["maintaining a legacy codebase that already uses idx and the Babel plugin", "working in an environment without optional chaining support and no upgrade path", "you need the specific behavior where an intermediate null value is returned rather than undefined"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/idx", "repo": "facebook/idx", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "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:05:22.177477+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.177477+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:51.296311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b74c8b8bdcb1398aea6a9590475c1b946eb072171fd6df512fdee1734aef3cc", "fetched_at": "2026-08-28T04:05:22.177477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/idx"}, {"content_hash": "461da46859f88938a70be26494f71c2860092e477f997d8574ef38d756767a22", "fetched_at": "2026-08-29T11:13:58.992773+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/idx"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3473, "days_push": 966, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}