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

Sebastien Ros 9b18dabfed Adding missing nuget.exe %!s(int64=11) %!d(string=hai) anos
.nuget 9b18dabfed Adding missing nuget.exe %!s(int64=11) %!d(string=hai) anos
Jint b20a162da8 Merge pull request #4 from fredericaltorres/master %!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 41b4248ae6 Fixing Repl exception on undefined %!s(int64=11) %!d(string=hai) anos
Jint.Tests d2a5131df8 Enabling nuget package restore for CI %!s(int64=11) %!d(string=hai) anos
Jint.Tests.Ecma d2a5131df8 Enabling nuget package restore for CI %!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 7115d839ba Update README.md %!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.

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