bellard/mquickjs

Public repository of the Micro QuickJS Javascript Engine

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on September 10th, 2026
Created on December 22nd, 2025
Open Issues & Pull Requests: 23 (+0)
GitHub issues: Enabled
Number of forks: 242
Total Stargazers: 6,164 (+1)
Total Subscribers: 42 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.7 hours
Mean response time: 14.4 days
90th percentile: 25.3 days
Tracked items: 35

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 20% of issues opened in the past year have been closed. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 136 days
Stale 30+ days: 4
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

MQuickJS is a JavaScript engine targeted at embedded systems that compiles and runs JavaScript programs using minimal memory footprint.

The engine addresses the challenge of running JavaScript on resource-constrained devices by implementing a tracing garbage collector, avoiding CPU stack usage, and storing strings in UTF-8 format. While sharing code ancestry with QuickJS, its internals differ significantly to reduce memory consumption. The tool operates in a stricter mode that enforces ES5-compatible JavaScript while disallowing error-prone constructs like the `with` keyword, array holes, and value boxing. Programs can be compiled to bytecode for persistent storage and later execution, with options to generate 32-bit bytecode on 64-bit systems for cross-platform deployment.

Developers should choose this tool when targeting embedded systems or other environments where RAM is severely limited, typically requiring only 10 kB of RAM for execution and around 100 kB of ROM for the complete engine including the C library. The stricter mode subset of JavaScript means code written for MQuickJS remains valid in standard JavaScript engines, making it suitable for projects that need portability across embedded and general-purpose platforms. The speed is comparable to QuickJS despite the memory optimizations.

The project maintains active development with regular commits addressing bug fixes and feature improvements. The codebase shows consistent refinement of the bytecode compiler and runtime behavior. Documentation is kept current with examples demonstrating practical usage patterns for both interactive execution and bytecode compilation workflows.