{"adoption": {"forks": 363, "observed_at": "2026-08-28T04:09:13.736091+00:00", "stars": 5255}, "canonical_url": "https://ross.abutalabs.com/products/recast", "card": {"archived": false, "artifact_type": "library", "description": "JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator", "domain": ["parsers", "developer-tools", "programming-languages"], "enriched": true, "function": ["parser", "serialization", "developer-tools"], "health_score": 79, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["benjamn/recast"], "name": "benjamn/recast", "platform": [], "pushed_at": "2026-08-21T18:07:46+00:00", "repo": "benjamn/recast", "stars": 5255, "tags": ["ast", "source-maps", "codemod", "pretty-printer", "javascript", "nodejs"], "topics": [], "urls": [], "use_cases": ["write codemods that refactor JavaScript code automatically", "transform a JavaScript AST and reprint it without losing formatting", "generate source maps for code transformations", "parse and manipulate JavaScript source code programmatically", "build custom linters or code analysis tools", "migrate legacy JavaScript syntax to newer standards"], "what_it_is": "Recast is a JavaScript syntax tree (AST) transformer and nondestructive pretty-printer that preserves original formatting where possible. It also generates source maps automatically when reprinting modified syntax trees.", "when_to_avoid": ["you only need to parse JavaScript without reprinting it", "you are transforming non-JavaScript languages", "you need a full-featured bundler or transpiler rather than an AST transformer"], "when_to_choose": ["you need to modify JavaScript code while preserving original formatting and comments", "you are building codemods or automated refactoring tools", "you need automatic source map generation for transformed code", "you want a stable, widely-used AST manipulation library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/recast", "repo": "benjamn/recast", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "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:13.736091+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.736091+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:59:32.775587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c87ac830fd14c6cba683593b4aed46cef3f45b8b3cf97714e558b903375be2ae", "fetched_at": "2026-08-28T04:09:13.736091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/benjamn/recast"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 8}, "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": 5094, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}