Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 657 Bytes

README.md

File metadata and controls

33 lines (22 loc) · 657 Bytes

evil-eval

A JavaScript interpreter written in JavaScript.

Why

Yout might working in a JavaScript environment where eval() and new Function() are not allowed (eg: WeChat Mini Program), and you probably have a good reason to use it.

Usage

import { runInContext } from 'evil-eval';

const code = `
    function hello(name) {
        return 'Hello ' + (name || defaultName) + '!';
    }

    module.exports = hello;
`;
const sandbox = { defaultName: 'World' };
const hello = runInContext(code, sandbox);
hello();

Inspired by

License

MIT