var Context = process.binding('evals').Context,
    // TODO: Remove .Script when bumping req'd node version to >= 5.0
    Script = process.binding('evals').NodeScript || process.binding('evals').Script;

exports.javascript = function(element, code, filename) {
  var document = element.ownerDocument,
      window = document.parentWindow;

  if (window) {
    var ctx = window.__scriptContext;
    if (!ctx) {
      window.__scriptContext = ctx = new Context();
      ctx.__proto__ = window;
    }
    var tracelimitbak = Error.stackTraceLimit;
    Error.stackTraceLimit = 100;
    try {
      Script.runInContext(code, ctx, filename);
    }
    catch(e) {
      document.trigger(
        'error', 'Running ' + filename + ' failed.', 
        {error: e, filename: filename}
      );
    }
    Error.stackTraceLimit = tracelimitbak;
  }
};

@@ -1,205 +1,26 @@
 var 
-Context = process.binding('evals').Context,%0A    // TODO: Remove .Script when bumping req'd node version to %3E= 5.0%0A    Script = process.binding('evals').NodeScript %7C%7C process.binding('evals').Script
+vm = require('vm')
 ;%0A%0Ae
@@ -265,20 +265,25 @@
 x = 
-new 
+vm.create
 Context(
 );%0A 
@@ -278,16 +278,18 @@
 Context(
+%7B%7D
 );%0A     
@@ -409,22 +409,25 @@
   try %7B%0A
-
       
+vm.
 Script.r

Use vm instead of evals binding