moejs is an open-source JavaScript runtime implemented entirely in Go for executing isolated plugins inside Go applications. It focuses on fast execution, low memory consumption, and efficient handling of many concurrent plugin instances. The engine supports modern JavaScript features, including ES modules, classes, promises, async/await, Proxy, and BigInt. It passes a large collection of ECMAScript Test262 compatibility tests. Its lightweight runtime design allows applications to create separate execution environments for individual requests. Benchmarks demonstrate performance improvements over other pure-Go JavaScript engines in selected plugin workloads. Developers can embed the runtime without depending on a separate JavaScript installation or C-based execution engine. It is particularly suited to extensible servers and plugin-driven applications.
Features
- Pure-Go JavaScript Runtime
- Modern ECMAScript Language Support
- ES Modules and Asynchronous Execution
- Isolated JavaScript Plugin Environments
- Low-Memory Concurrent Runtime Instances
- ECMAScript Test262 Compatibility Testing