A JavaScript interpreter for .NET that runs on any modern .NET platform, enabling JavaScript execution within .NET applications.
Jint is a JavaScript interpreter for .NET that enables developers to run JavaScript code within .NET applications. It provides a sandboxed environment where JavaScript can interact with .NET objects and functions, allowing for scripting, customization, and integration of JavaScript logic into .NET systems. It supports modern ECMAScript standards and offers features like async execution, module loading, and execution constraints.
.NET developers who need to embed JavaScript scripting capabilities into their applications, such as those building game engines, workflow systems, database platforms, or tools requiring user-customizable logic via JavaScript.
Developers choose Jint for its full ECMAScript compliance, seamless .NET interoperability, and secure sandboxed execution. Its lightweight design, performance optimizations, and support for modern JavaScript features make it a reliable choice for embedding JavaScript in .NET environments without external dependencies.
Javascript Interpreter for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements standards from ES6 to ES2025 and experimental proposals, ensuring compatibility with contemporary JavaScript code, as detailed in the README's feature tables.
Allows exposing and manipulating .NET objects, methods, and assemblies directly from JavaScript, enabling integration like calling System.IO methods or custom classes, as shown in examples.
Provides configurable limits on memory, time, and recursion to sandbox untrusted scripts, preventing resource exhaustion and ensuring safe execution, with options like LimitMemory and TimeoutInterval.
Supports non-blocking async/await and ES modules, making it suitable for I/O-bound operations in ASP.NET Core and modular script organization with custom resolution.
Does not support all ECMAScript standards, such as tail calls and some regular expression flags (e.g., /v flag in ES2024), which could limit scripts relying on these features.
Engine instances cannot be accessed from multiple threads simultaneously, restricting use in concurrent applications without additional synchronization, as stated in the README.
While fast for small scripts, performance may degrade for larger code without caching, as it doesn't generate .NET bytecode, and benchmarks indicate variability based on use case.