From 7e3bb79d30e92d7e04e70d247a6fe655eb384a18 Mon Sep 17 00:00:00 2001 From: Philip Peitsch Date: Tue, 19 Sep 2017 15:35:28 +1000 Subject: [PATCH] Updating calls to processing.binding('evals') to use require('vm') instead. The former is deprecated. --- lib/gennode/gennode.js | 2 +- lib/nclosurebase.js | 3 +-- lib/settingsloader.js | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/gennode/gennode.js b/lib/gennode/gennode.js index 5f924ca..da763f1 100755 --- a/lib/gennode/gennode.js +++ b/lib/gennode/gennode.js @@ -89,7 +89,7 @@ nclosure.gennode.gennode.prototype.processJSFile_ = function(f) { var fileExports = {}; ctx.exports = fileExports; - try { process.binding('evals').Script.runInNewContext(js, ctx, f); } + try { require('vm').runInNewContext(js, ctx, f); } catch (ex) { console.error('Not parsing: ' + f + ' ex: ' + ex.message); } this.processObject_(f, fileExports); }; diff --git a/lib/nclosurebase.js b/lib/nclosurebase.js index f98ccc3..c912581 100644 --- a/lib/nclosurebase.js +++ b/lib/nclosurebase.js @@ -280,8 +280,7 @@ nclosure.base.prototype.loadScript = function(dir, file) { var contents = require('fs').readFileSync(path).toString(); contents = this.settingsLoader_.removeShebang(contents); try { - process.binding('evals').NodeScript. - runInThisContext.call(global, contents, file); + require('vm').runInThisContext.call(global, contents, file); } catch (ex) { console.error('Could not goog.require("' + path + '")\n' + ex.stack); process.exit(1); diff --git a/lib/settingsloader.js b/lib/settingsloader.js index 346957b..b766cc4 100644 --- a/lib/settingsloader.js +++ b/lib/settingsloader.js @@ -207,7 +207,7 @@ nclosure.settingsLoader.prototype.parseCompilerArgsFromFileImpl_ = } }; code = this.removeShebang(code); - try { process.binding('evals').Script.runInNewContext(code, ctx, file); } + try { require('vm').runInNewContext(code, ctx, file); } catch (e) {} var dirIdx = file.search(/[\/\\][^\/\\]*$/g); var dir = dirIdx < 0 ? '.' : file.substring(0, dirIdx);