20 Repos
Integrating a JavaScript execution engine as a component within a larger host application.
Distinct from WebAssembly Engine Embedding: Specializes the general concept of engine embedding specifically for JavaScript, distinct from WebAssembly.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · JavaScript Engine Embedding. Refine with filters or upvote what's useful.
V8 is a high-performance JavaScript and WebAssembly engine designed to compile and execute code within host applications. It functions as an embeddable scripting engine and just-in-time compiler, providing a portable library for integrating dynamic script execution into native software environments. The engine incorporates a WebAssembly runtime to execute compiled binary code for a stack-based virtual machine at near-native speeds. It enables native application scripting by allowing a JavaScript execution environment to be embedded directly into a native program to handle dynamic logic. The
Designed as an embeddable engine that can be integrated into native applications to handle dynamic logic.
Hermes is a mobile-optimized JavaScript runtime and engine designed for React Native. It functions as an ahead-of-time bytecode compiler that converts JavaScript source code into a dense binary format during the build process to eliminate the need for parsing and compilation at runtime. The engine features a baseline JIT compiler that generates native machine code for frequently called functions to improve performance after the initial launch. It also includes a mobile-optimized garbage collector that precisely identifies reachable objects to minimize memory overhead and pause times on resour
Designed to be embedded as the primary JavaScript execution engine within React Native host applications.
WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har
Builds custom runtime capabilities by adding native functions written in C, Go, or Rust to the WebAssembly environment.
Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me
Provides the core capability of integrating a JavaScript runtime directly into other software applications as a component.
Otto is a Go implementation of a JavaScript interpreter and embedded scripting engine. It provides a runtime environment for executing JavaScript code within native applications and includes a parser that converts source code into an abstract syntax tree for analysis and processing. The project enables the creation of custom scripting interfaces by binding native Go functions into the JavaScript global scope. It also includes a utility to translate JavaScript regular expression patterns into compatible formats for other programming languages. The engine supports safe script sandboxing throug
Integrates a full JavaScript execution engine as a component within a Go host application.
pysheeet ist eine technische Referenzbibliothek, die eine kuratierte Sammlung von Code-Snippets und Implementierungsmustern für fortgeschrittene Python-Entwicklung, Systemintegration und High-Performance-Computing bereitstellt. Sie dient als umfassender Leitfaden für die Implementierung von Low-Level-Netzwerkprogrammierung, nativen C-Erweiterungen sowie asynchroner und nebenläufiger Programmierung. Das Projekt bietet spezialisierte Frameworks für die Entwicklung und Bereitstellung von Large Language Models, einschließlich Werkzeugen für verteilte GPU-Inferenz und High-Performance-Serving. Es enthält zudem detaillierte Muster für die Orchestrierung von High-Performance-Computing-Clustern, die GPU-Ressourcenzuweisung und Multi-Node-Workload-Management abdecken. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich sicherer Netzwerkkommunikation und Kryptografie, Object-Relational-Mapping und Datenbankverwaltung sowie die Implementierung komplexer Datenstrukturen und Algorithmen. Sie bietet zudem Utilities für Speicherverwaltung, native Interoperabilität via Foreign-Function-Interfaces und systemnahe OS-Integration.
Provides documentation and implementation patterns for integrating C and C++ code into Python applications.
miniblink49 is a stripped-down Blink browser kernel and embedded web UI framework used to integrate HTML user interfaces into native C++ applications. It functions as a C++ JavaScript interop bridge that maps high-level script calls to low-level native logic and provides a resource-optimized headless browser engine for processing web content without a graphical interface. The project enables custom browser environment control by bypassing cross-origin security policies to allow requests across different domains. It further allows for the interception of network resources to replace remote ass
Embeds a high-performance JavaScript engine within a C++ application to process script logic.
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,
Provides a lightweight JavaScript engine designed for embedding into native C applications on resource-constrained devices.
Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type
Integrates a full JavaScript execution engine as an embedded component within Go applications.
Duktape is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++ applications. It functions as a lightweight ECMAScript runtime that provides a C-JavaScript bridge for exchanging data and invoking functions between native code and a script execution environment. The engine includes an ECMAScript bytecode compiler that allows for the serialization and caching of compiled functions to disk to reduce application startup time. It organizes script dependencies using a CommonJS-compliant module loader. The runtime covers a variety of capabilities in
Provides a lightweight ECMAScript runtime designed for seamless integration as a component within C and C++ applications.
Defold ist eine plattformübergreifende Spiele-Engine und eine integrierte Entwicklungsumgebung (IDE) zur Erstellung von 2D- und 3D-Spielen für Desktop, Mobile und Web. Sie kombiniert eine IDE für Asset- und Szenenmanagement mit einem Multi-Plattform-Build-System und einer auf Lua basierenden Skriptumgebung. Die Engine enthält eine spezialisierte Headless-Runtime für das Hosting von Spieleservern und die Durchführung automatisierter Tests ohne grafische Benutzeroberfläche. Sie unterstützt native Engine-Erweiterungen, die es ermöglichen, benutzerdefinierten Low-Level-Code in den Kern zu integrieren, um die Funktionalität über die Standard-Skriptschnittstelle hinaus zu erweitern. Das Toolset deckt die Automatisierung von Spiele-Builds für den Vertrieb auf Plattformen wie Steam und dem Epic Games Store ab, neben Asset-Packaging und Projekt-Lokalisierungsmanagement. Die Entwicklungsfunktionen umfassen Echtzeit-Debugging mit Live-Zustandsaktualisierungen, Build-Größenanalyse und automatisierte Smoke-Tests.
Enables the integration of low-level C++ code to provide specialized functionality beyond the Lua scripting interface.
Puerts ist ein TypeScript-Runtime-Embedder und ein Game-Engine-Skripting-Framework, das dazu entwickelt wurde, dynamische Sprachen in Low-Level-Host-Anwendungen zu integrieren. Es fungiert als leistungsstarke, sprachübergreifende API-Brücke, die es Entwicklern ermöglicht, Gameplay-Logik und Editor-Skripte unter Verwendung von TypeScript und JavaScript innerhalb einer kompilierten Host-Umgebung auszuführen. Das Projekt zeichnet sich durch eine einheitliche Bridging-API aus, die steckbare Skripting-Backends unterstützt und die Auswahl oder das Hot-Swapping verschiedener Sprach-Engines ermöglicht, um Ausführungsgeschwindigkeit und Binärgröße auszubalancieren. Es bietet eine automatisierte Generierung von Typdeklarationen, um typsicheren Zugriff und Autocomplete für native Host-APIs sicherzustellen. Das Framework deckt ein breites Funktionsspektrum ab, einschließlich reflexionsbasiertem API-Bridging für native Funktionsaufrufe, sprachübergreifendem Objekt-Mapping und der Integration von Drittanbieter-Paketen. Es unterstützt zudem fortgeschrittene Automatisierung durch natürliche Sprachsteuerung der Engine, KI-Agenten-Integration für dynamisches Verhalten sowie ein standardisiertes Fernsteuerungsprotokoll zur Verbindung externer KI-Coding-Tools mit einem laufenden Projekt.
Integrates a JavaScript and TypeScript execution engine directly into low-level host applications.
mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic
Embeds a JavaScript runtime as a component within a host application, requiring as little as 10 KB of RAM and 100 KB of ROM.
CPython-Internals ist ein technischer Implementierungsleitfaden und eine Referenz für den CPython-Interpreter. Es bietet eine detaillierte Analyse des internen C-Quellcodes und der Architektur, wobei der Fokus auf der Logik liegt, die das Verhalten des Interpreters steuert. Das Projekt dokumentiert das Python-Objektmodell und die Kompilierungs-Pipeline und verfolgt den Prozess von der rohen Grammatik und den abstrakten Syntaxbäumen bis hin zum ausführbaren Bytecode. Es dient zudem als Referenz für die Entwicklung von C-Erweiterungen und erklärt, wie man mit internen Datenstrukturen interagiert und die C-API nutzt. Das Material deckt die Speicherverwaltung ab, einschließlich Referenzzählung und generationaler Garbage Collection, sowie die Funktion des Global Interpreter Lock.
Documents the native C API used to create high-performance Python extensions.
gdext bietet eine Reihe von Sprachbindungen zum Schreiben von hochperformanter nativer Spiellogik in Rust für die Godot 4-Engine. Es dient als Framework zum Erstellen nativer Engine-Erweiterungen und benutzerdefinierter Klassen über die GDExtension-Bibliothek, was es Entwicklern ermöglicht, die Kernfunktionalität der Engine zu erweitern, ohne den Engine-Quellcode neu kompilieren zu müssen. Das Projekt enthält ein dediziertes Rust-WebAssembly-Toolchain, um native Logik in Module für die Ausführung in Webbrowsern zu kompilieren. Dieses System unterstützt WebAssembly-kompatible Kompilierung mit spezifischen Konfigurationen für Web-Threading und Modul-Debugging. Das Toolkit deckt ein breites Spektrum an Engine-Integrationsfähigkeiten ab, einschließlich benutzerdefinierter Klassendefinitionen, Scene-Tree-Knotenverwaltung und typsicherer Signalbehandlung. Es bietet Dienstprogramme für Physiksimulation, prozedurale Content-Generierung und die Entwicklung benutzerdefinierter Editor-Plugins. Die Entwicklung wird durch Automatisierungstools für das Projekt-Setup, das Testen nativer Erweiterungen und Logik-Unit-Tests unterstützt.
Provides a framework for creating native engine extensions and custom classes without recompiling the core engine source.
Templater is an Obsidian template engine and JavaScript automation plugin that functions as a dynamic content generator and workflow orchestrator. It enables the automation of document creation and note-taking tasks through the use of dynamic placeholders and embedded logic. The project distinguishes itself by executing custom JavaScript and shell commands to manipulate files and insert data. It allows for interactive note generation via modal prompts for user input and the import of external JavaScript modules to provide reusable logic outside of template files. Its capabilities include pro
Executes custom JavaScript code within templates to manipulate data and access global application variables.
rusty_v8 is a Rust wrapper for the V8 JavaScript engine that allows for the embedding of a JavaScript runtime into native applications. It provides core components for managing engine bindings, memory allocation, sandboxed isolates, and the execution of WebAssembly modules. The project features a native host function bridge to map Rust functions to JavaScript objects and a dedicated memory allocator to manage thread-safe allocation and heap pressure. It includes a system for compiling and executing binary WebAssembly modules within the hosted native environment. The runtime covers capabiliti
Integrates the V8 JavaScript engine into native Rust applications to execute scripts and manage the runtime.
Cinder is a high-performance Python runtime implementation based on CPython. It is designed as an execution environment optimized for large-scale distributed systems and cloud environments. The project integrates a distributed memory cache and an asynchronous memory layer to manage data across multiple network nodes. It also provides a native C extension framework for developing high-performance compiled modules that link directly into the interpreter memory space. The system covers capabilities for asynchronous data retrieval, large-scale execution, and the integration of embedded scripting
Provides a stable C-language interface for linking high-performance compiled modules directly into the interpreter memory space.
QuickJS is a lightweight, embeddable ECMAScript runtime that executes JavaScript programs conforming to the latest specification. It is designed as a compact, standards-compliant JavaScript engine suitable for resource-constrained environments and embedded systems, available both as prebuilt binaries and as source code that can be compiled for custom integration. The engine distinguishes itself through a minimal runtime footprint achieved by a single-pass compiler that produces compact bytecode, executed on a stack-based virtual machine. Memory management uses reference-counting garbage colle
Provides a minimal C API for embedding a standards-compliant JavaScript runtime into host applications.
Dieses Projekt bietet einen Header-only C++-Wrapper für die Node-API und dient als Framework für den Aufbau leistungsstarker nativer Addons für Node.js. Es fungiert als Brücke zwischen C++ und JavaScript und bietet eine objektorientierte Schnittstelle, die die Erstellung kompilierter Erweiterungen vereinfacht und gleichzeitig die Komplexität der Sprachgrenze verwaltet. Die Bibliothek zeichnet sich durch die Bereitstellung typsicherer Abstraktionen für Data-Marshalling und Speicherverwaltung aus, wodurch sichergestellt wird, dass native und Skript-seitige Objekte korrekt verfolgt und freigegeben werden. Sie enthält Mechanismen zur Koordination asynchroner Aufgaben zwischen Hintergrund-Threads und dem Haupt-Event-Loop, um Datenkorruption zu verhindern und gleichzeitig intensive Berechnungen auszulagern. Darüber hinaus ordnet sie native Ausnahmen (Exceptions) Standard-Skript-Fehlertypen zu, was eine konsistente Diagnoseberichterstattung und Fehlerbehandlung sicherstellt. Über ihre Kern-Brückenfunktionen hinaus unterstützt das Projekt den gesamten Lebenszyklus der nativen Entwicklung, einschließlich der Bereitstellung von C++-Klassen und -Methoden für die JavaScript-Laufzeit. Es bietet Tools zur Verwaltung von Umgebungs-Lebenszyklen, zur Automatisierung von Code-Migrationen und zur Durchführung von Leistungsbenchmarks, um das Verhalten nativer Komponenten zu bewerten.
Provides a framework for building high-performance native addons for Node.js by wrapping native interfaces into object-oriented structures.