A .NET library that compiles and executes JavaScript code, providing a high-performance, standards-compliant ECMAScript runtime.
Jurassic is a .NET library that implements the ECMAScript language and runtime, allowing .NET programs to compile and execute JavaScript code. It provides a high-performance, standards-compliant JavaScript engine that compiles scripts into .NET bytecode, enabling seamless integration of JavaScript functionality within .NET applications.
.NET developers and authors of .NET programs who need to embed JavaScript execution capabilities, such as those building scripting engines, plugins, or applications requiring dynamic script evaluation.
Developers choose Jurassic for its exceptional performance through CIL compilation, comprehensive ECMAScript compliance, and simple integration as a single .NET assembly, making it a reliable and efficient alternative to interpreters.
A .NET library to parse and execute JavaScript code.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiles JavaScript into .NET bytecode (CIL) using light-weight code generation, which the README states provides efficient execution compared to interpreters.
Fully supports ECMAScript 3 and 5, including strict mode, and passes over five thousand unit tests with thirty thousand asserts, ensuring reliability and standards adherence.
Offers a straightforward API and is deployed as a single .NET assembly with no native dependencies, simplifying distribution and integration into .NET applications.
Tested on .NET 3.5, .NET 4, and Silverlight, as noted in the README, making it versatile for various .NET frameworks.
The compatibility table shows many ES6 features like proper tail calls, arrow functions, and generators are missing or partially implemented, limiting modern JavaScript usage.
Provides only basic support for integrated debugging in Visual Studio, which may be inadequate for complex script debugging scenarios.
Tested primarily on older .NET frameworks (3.5, 4), so compatibility with newer versions like .NET Core or .NET 6 is not explicitly guaranteed.