Cross safe eval
Node.js and browser 12 lines implementation of a safe eval :), install this module if you want or hardcode it!
npm i --save cross-safe-eval
use it as follows:
var makeSafeEval = require('cross-safe-eval')
var safeEval = makeSafeEval()
safeEval('this')
safeEval('console')
safeEval('eval')
safeEval('Math')
safeEval('window')
safeEval('1 + 1')
var localNumber = 1034
safeEval('localNumber')
var safeEval2 = makeSafeEval(['Math', 'console'])
safeEval2('2 * Math.PI * 120')
safeEval2('console.log(10)')
How?
Uses Object.getOwnPropertyNames(this) to obtain all environment globals and take care of it.