# dop251/goja

ECMAScript/JavaScript engine in pure Go

Repository: https://github.com/dop251/goja
Canonical: https://ross.abutalabs.com/products/goja
Language: Go
License: MIT
License Family: permissive
Topics: javascript, golang
Last push: 2026-08-26T20:49:19+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 3589, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7059, forks 466 (observed 2026-08-28T04:09:55.592917+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: library
- maturity: active
- function: interpreter, parser, compiler
- domain: programming-languages, parsers, developer-tools
- platform: go, cross-platform
- tags: javascript-engine, ecmascript, pure-go, scripting, no-cgo

## Member repositories
- dop251/goja (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:55.592917+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:40:29.635847+00:00, confidence not recorded.
  - readme: https://github.com/dop251/goja (fetched 2026-08-28T04:09:55.592917+00:00, sha e5a554ee7fde)
- Data as of 2026-08-30T08:39:29.467469+00:00.
