Javascript Interpreter for C# (no dependencies)
#scripting #script-engine

Sebastien Ros 1e102887ce Refactoring object wrapping %!s(int64=11) %!d(string=hai) anos
.nuget 9b18dabfed Adding missing nuget.exe %!s(int64=11) %!d(string=hai) anos
Jint 1e102887ce Refactoring object wrapping %!s(int64=11) %!d(string=hai) anos
Jint.Benchmark d2a5131df8 Enabling nuget package restore for CI %!s(int64=11) %!d(string=hai) anos
Jint.Repl 6fb1d4789d Implementing object interop %!s(int64=11) %!d(string=hai) anos
Jint.Tests 1e102887ce Refactoring object wrapping %!s(int64=11) %!d(string=hai) anos
Jint.Tests.Ecma 47fc16c416 Merge pull request #5 from fredericaltorres/master %!s(int64=11) %!d(string=hai) anos
Jint.Tests.Scaffolding b6d60818da Adding Ecma 262 tests %!s(int64=12) %!d(string=hai) anos
.gitignore 2dab8046d6 Scaffolding project vs. hand written classes %!s(int64=12) %!d(string=hai) anos
CREDITS.txt f53137698a Adding license information %!s(int64=11) %!d(string=hai) anos
Jint.sln d2a5131df8 Enabling nuget package restore for CI %!s(int64=11) %!d(string=hai) anos
LICENSE.txt f53137698a Adding license information %!s(int64=11) %!d(string=hai) anos
README.md 38fddd13ca Adding status badge %!s(int64=11) %!d(string=hai) anos

README.md

Jint

Jint is a Javascript interpreter for .NET. Jint doesn't compile Javascript to .NET bytecode and in this sense might be best suited for projects requiring to run relatively small scripts faster, or which need to run on different platforms.

Build status

Objectives

Example

script= @"
  function hello() { 
    log("Hello World");
  };
";

var engine = new Engine(cfg => cfg
    .WithDelegate("log", new Action<object>(Console.WriteLine))
);

engine.Execute("hello()");

You can also check the actual implemented test suite for more samples.

Roadmap

Status:

Todo:

  • Improve C# interoperability
  • Finish up ECMAScript test suite
    • Regular expression (15.10)
    • Error object (15.11)
    • Object constructor (15.2.3)
    • Object prototype (15.2.4)
    • Function object (15.3)
    • String object (15.5.4 & 15.5.5) work in progress