isolated-vm

Secure, isolated V8 JavaScript environments for Node.js

Library
npm
v7.0.1
2,929 stars
ISC

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
69 /100 Good
Development Activity 68
Maintenance 44
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
75 /100 Good
Architecture 82
Code Quality 78
Innovation 80
Learning Curve 58

isolated-vm is a native Node.js addon that exposes V8’s Isolate interface directly, letting you create JavaScript execution contexts that are completely isolated from each other and from the host Node process — free of require, filesystem access, or any other capability the host runtime normally grants.

This makes it a building block for running untrusted or third-party JavaScript safely: plugin systems, user-submitted scripts, or multi-tenant code execution, where you need real sandboxing guarantees rather than the weaker isolation Node’s built-in vm module provides. The project is explicitly in maintenance mode, with an experimental rewrite in progress on a separate branch.

What You Get

  • Native bindings to V8’s Isolate API for creating fully separate JavaScript heaps within one Node process
  • Explicit, opt-in bridging of values and references between isolates via Reference and transferable objects
  • CPU and memory limits enforceable per isolate, with the ability to dispose an isolate and reclaim its resources
  • Compatibility matrix tying isolated-vm major versions to specific Node.js major versions (since V8’s ABI changes across Node releases)
  • A CPU profiler and inspector integration (inspector-example.js) for debugging isolate code

Common Use Cases

  • Running third-party or user-submitted JavaScript plugins inside a host application without giving them Node API access
  • Multi-tenant code execution platforms that need per-tenant CPU/memory limits and hard isolation
  • Serverless-style function runners that need to spin up and tear down fresh JS contexts quickly
  • Sandboxing template or scripting logic (e.g. user-defined formulas or automations) inside a larger app

Under The Hood

Architecture - the addon is organized around src/isolate (isolate lifecycle: creation, disposal, limits) and src/external_copy (the serialization/copy layer that moves values across the isolate boundary since isolates share no memory by default), with src/module wiring the native bindings into the JS-facing isolated-vm.js/isolated-vm.d.ts entry points; a native-example directory demonstrates embedding native addons inside a sandboxed isolate. Tech Stack - primarily C++ against V8’s embedder API, glued to Node via node-gyp/node-gyp-build with prebuilt binaries fetched per Node ABI version (hence the strict Node-version-to-isolated-vm-version compatibility table in the README), with a thin JS/TypeScript wrapper layer on top. Code Quality - the tests/ directory is unusually large and adversarial for a native addon, covering deadlocks, dispose races, catastrophic errors, context leaks, and cross-context instance edge cases — reflecting the project’s core promise of hard isolation guarantees; linting is done via clang-tidy over the C++ sources rather than a JS linter, appropriate for a mostly-native codebase. API Design - the library requires deliberate, explicit marshaling of every value crossing the isolate boundary (via Reference, Copy, Transferable), which is more verbose than Node’s built-in vm module but is exactly the tradeoff that provides real security isolation rather than the shared-heap illusion of isolation vm gives.

Used by 13 apps in this directory

TypeScript
100%
Other

Activepieces

AI Assistants · Automation · Mcp

24,756

Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.

View details
92
Repo Health
85
Technical
64
Dependency
Built with
TypeScript 100%
Updated 4 days ago
JavaScript
100%
Other

Automatisch

Automation · No Code Platforms

13,979

Self-hosted, no-code workflow automation that keeps your data on your own servers—a privacy-first alternative to Zapier with 90+ integrations.

View details
49
Repo Health
78
Technical
62
Dependency
Built with
JavaScript 100%
Updated 7 months ago
TypeScript
70%
Other

Budibase

Low Code Platforms · No Code Platforms

28,324

Build AI agents, automations, and internal apps on a single open-source platform with full self-hosting control.

View details
91
Repo Health
81
Technical
63
Dependency
Built with
TypeScript 70%
Svelte 26%
Updated 1 weeks ago
TypeScript
79%
Other

Directus

CMS · Low Code Platforms

37,987

Connect any SQL database and get instant REST and GraphQL APIs, a visual management Studio, and a native MCP server for AI agents — free for most organizations.

View details
92
Repo Health
82
Technical
76
Dependency
Built with
TypeScript 79%
Vue 19%
Updated 1 weeks ago
TypeScript
97%
Other

GrowthBook

Ab Testing Experimentation · Analytics · Developer Tools

8,446

Open source feature flags, A/B testing, and warehouse-native experimentation that queries your existing data infrastructure—no data movement required.

View details
92
Repo Health
85
Technical
63
Dependency
Built with
TypeScript 97%
Updated 4 days ago
TypeScript
67%
MIT

Hoppscotch

Developer Tools

80,529

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
65
Dependency
Built with
TypeScript 67%
Vue 25%
Updated 6 days ago
JavaScript
55%
Other

Lokus

Knowledge Management · Note Taking

802

Local-first note-taking with graph view, canvas & AI plugins—your Markdown files, zero telemetry, blazing-fast Rust performance.

View details
78
Repo Health
75
Technical
65
Dependency
Built with
JavaScript 55%
HTML 21%
Rust 12%
Updated 1 months ago
TypeScript
92%
Other

n8n

Automation · No Code Platforms

206,147

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
65
Dependency
Built with
TypeScript 92%
Updated 4 days ago
TypeScript
95%
Apache 2.0

OneUptime

Monitoring

7,668

The complete open-source observability platform that replaces PagerDuty, Datadog, Sentry, and StatusPage with a single self-hostable system.

View details
91
Repo Health
81
Technical
65
Dependency
Built with
TypeScript 95%
Updated 4 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers