Socket
Socket
Sign inDemoInstall

vm-browserify

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vm-browserify

vm module for the browser


Version published
Weekly downloads
8.3M
decreased by-1.34%
Maintainers
1
Install size
19.8 kB
Created
Weekly downloads
 

Package description

What is vm-browserify?

The vm-browserify npm package is a browser shim for Node.js's vm module. It allows you to run scripts in a sandboxed environment within the browser, similar to how you would in Node.js. This can be useful for executing code in a controlled and isolated context.

What are vm-browserify's main functionalities?

Running code in a sandbox

This feature allows you to execute a string of code in a new, isolated context. The sandbox object can be used to pass in and out values from the sandboxed environment.

var vm = require('vm-browserify');
var sandbox = { animal: 'cat' };
vm.runInNewContext('console.log(animal)', sandbox);

Other packages similar to vm-browserify

Readme

Source

vm-browserify

Emulate node's vm module for the browser.

example

Just write some client-side javascript:

var vm = require('vm');

$(function () {
    var res = vm.runInNewContext('a + 5', { a : 100 });
    $('#res').text(res);
});

compile it with browserify:

browserify entry.js -o bundle.js

then whip up some html:

<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <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.

browser compatability

All modern browsers are supported.

If you have a browserling account, from the testling/ directory just do:

$ ./test.sh substack@gmail.com
Enter host password for user 'substack@gmail.com':
chrome/17.0:
  vmRunInNewContext ................................. 5/5

iexplore/9.0:
  vmRunInNewContext ................................. 5/5

firefox/10.0:
  vmRunInNewContext ................................. 5/5

safari/5.1:
  vmRunInNewContext ................................. 5/5

opera/11.6:
  vmRunInNewContext ................................. 5/5

total ............................................... 25/25

In IE8 and IE7, running vm.runInNewContext() more than once can cause the browsers to hang for some reason. Otherwise they work too.

install

This module 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 module directly you can install it with npm:

npm install vm-browserify

license

MIT/X11

Keywords

FAQs

Last updated on 06 Apr 2012

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc