# justjake/quickjs-emscripten

Safely execute untrusted Javascript in your Javascript, and execute synchronous code that uses async functions

Repository: https://github.com/justjake/quickjs-emscripten
Canonical: https://ross.abutalabs.com/products/quickjs-emscripten
Homepage: https://www.npmjs.com/package/quickjs-emscripten
Language: TypeScript
License: NOASSERTION
License Family: other
Topics: quickjs, eval, javascript, wasm, plugins
Last push: 2026-07-23T21:17:36+00:00

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

## Adoption (not part of the score)
Stars 1696, forks 136 (observed 2026-08-28T04:05:23.915304+00:00)

## What it is
TypeScript bindings for the QuickJS JavaScript interpreter compiled to WebAssembly, letting you safely evaluate untrusted JavaScript inside your JavaScript. It supports sandboxed execution, host function exposure, and running synchronous code that uses async functions via asyncify.

## Use cases
- safely evaluate untrusted javascript from users
- run user-submitted plugin code in a sandbox
- embed a javascript interpreter in a node or browser app
- execute sync code that calls async functions
- build a plugin system with sandboxed scripts
- run javascript in cloudflare workers or deno

## When to choose
- you need to run untrusted or third-party JavaScript with strong isolation
- you want a sandboxed JS VM across browsers, Node, Deno, Bun, and edge workers
- you need to expose host functions to embedded scripts and control memory lifetimes

## When to avoid
- you just need to evaluate your own trusted code (use eval or new Function)
- you need full Node.js APIs or npm packages inside the sandbox
- you need top ES2023+ feature coverage or maximum interpreter performance

## Facets
- artifact type: library
- maturity: active
- function: interpreter, wasm, sdk, plugin-system, security
- domain: developer-tools, web-development, programming-languages, security
- platform: browser, bun, cross-platform, wasm
- tags: quickjs, sandbox, javascript-sandbox, untrusted-code-execution, emscripten, vm, eval, asyncify, typescript, nodejs, deno, web-server

## Member repositories
- justjake/quickjs-emscripten (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:23.915304+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-30T03:37:54.011529+00:00, confidence not recorded.
  - readme: https://github.com/justjake/quickjs-emscripten (fetched 2026-08-28T04:05:23.915304+00:00, sha 67c8751d5d87)
  - registry_npm: https://registry.npmjs.org/quickjs-emscripten (fetched 2026-08-29T11:12:57.025895+00:00, sha 5e95a7b776c1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
