{"adoption": {"forks": 466, "observed_at": "2026-08-28T04:09:55.592917+00:00", "stars": 7059}, "canonical_url": "https://ross.abutalabs.com/products/goja", "card": {"archived": false, "artifact_type": "library", "description": "ECMAScript/JavaScript engine in pure Go", "domain": ["programming-languages", "parsers", "developer-tools"], "enriched": true, "function": ["interpreter", "parser", "compiler"], "health_score": 80, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dop251/goja"], "name": "dop251/goja", "platform": ["go", "cross-platform"], "pushed_at": "2026-08-26T20:49:19+00:00", "repo": "dop251/goja", "stars": 7059, "tags": ["javascript-engine", "ecmascript", "pure-go", "scripting", "no-cgo"], "topics": ["javascript", "golang"], "urls": [], "use_cases": ["embed a javascript scripting engine in a go application", "run es5 javascript code from go without cgo", "evaluate user-provided scripts safely inside a go server", "execute typescript or babel-compiled code in a go runtime", "frequent data exchange between go and javascript"], "what_it_is": "Goja is an ECMAScript 5.1 (plus partial ES6) JavaScript engine implemented entirely in pure Go, emphasizing standard compliance and performance. It lets Go applications embed and execute JavaScript with frequent Go/JS interop without cgo dependencies.", "when_to_avoid": ["your JavaScript does heavy computation better suited to V8 or SpiderMonkey", "you need full modern ES6+ feature support", "you need goroutine-safe shared runtime state", "you rely on exact ECMAScript JSON surrogate-pair or Date edge-case behavior"], "when_to_choose": ["you need a pure-Go, easily buildable JS engine with no cgo overhead", "your workload involves frequent calls between Go and JavaScript passing complex data", "you want tight control over the execution environment", "you need to run ES5 code like Babel or the TypeScript compiler inside Go"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/goja", "repo": "dop251/goja", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "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:55.592917+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.592917+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:40:29.635847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5a554ee7fdebcf026cf72660e19a21c1ff92cd8e3d2567643ca90ec9aafa325", "fetched_at": "2026-08-28T04:09:55.592917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dop251/goja"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3589, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}