Skip to content

require('vm') like in node but for the browser

License

Notifications You must be signed in to change notification settings

warren-bank/fork-vm-browserify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fork of [email protected]: vm module for the browser

example

Just write some client-side javascript:

var vm = require('@warren-bank/vm-browserify');

window.addEventListener('load', function () {
    var res = vm.runInNewContext('a + 5', { a : 100 });
    document.querySelector('#res').textContent = res;
});

compile it with browserify:

browserify entry.js -o bundle.js

then whip up some html:

<html>
  <head>
    <script src="/bundle.js"></script>
  </head>
  <body>
    result = <span id="res"></span>
  </body>
</html>

and when you load the page you should see:

result = 105

methods

vm.runInNewContext(code, context={})

Evaluate some code in a new iframe with a context.

Contexts are like wrapping your code in a with() except slightly less terrible because the code is sandboxed into a new iframe.

install

The upstream library is depended upon by browserify, so you should just be able to require('vm') and it will just work. However if you want to use this fork, you must install it with npm:

npm install @warren-bank/vm-browserify

license

About

require('vm') like in node but for the browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.9%
  • HTML 1.1%