
Product
Socket Now Protects the Chrome Extension Ecosystem
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.
A nifty javascript sandbox for node.js.
console.log
and print
utility methodsBe sure to check out example/example.js
var s = new Sandbox();
s.run('1 + 1 + " apples"', function(output) {
// output.result == "2 apples"
});
Sandbox
#run
(code
, hollaback
)code
{String
} — string of Javascript to be executed.hollaback
{Function
} — called after execution with a single argument, output
.
output
is an object with two properties: result
and console
. The result
property is an inspected string of the return value of the code. The console
property is an array of all console output.For example, given the following code:
function add(a, b){
console.log(a);
console.log(b);
return a + b;
}
add(20, 22);
The resulting output object is:
{
result: "42",
console: ["20", "22"]
}
Sandbox
#postMessage
(message
)message
{String
} - message to send to the sandboxed codeFor example, the following code will send a message from outside of the sandbox in
and then the sandboxed code will respond with its own message. Note that the sandboxed
code handles incoming messages by defining a global onmessage
function and can
send messages to the outside using the postMessage
function.
Sandboxed code:
onmessage = function(message){
if (message === 'hello from outside') {
postMessage('hello from inside');
}
};
Sandbox:
var sandbox = new Sandbox();
sandbox.run(sandboxed_code);
sandbox.on('message', function(message){
// Handle message sent from the inside
// In this example message will be 'hello from inside'
});
sandbox.postMessage('hello from outside');
The process will ONLY be considered finished if onmessage
is NOT a function.
If onmessage
is defined the sandbox will assume that it is waiting for an
incoming message.
Let's get it! The easiest way is through npm:
npm install sandbox
Or if you'd like to play with the code, see the examples, run the tests, what-the-fuck-ever...
git clone git://github.com/gf3/sandbox.git
And run some examples:
node example/example.js
To run the tests simply run the test file with node.
npm test
Sandbox is UNLICENSED.
FAQs
A nifty javascript sandbox for node.js
The npm package sandbox receives a total of 751 weekly downloads. As such, sandbox popularity was classified as not popular.
We found that sandbox demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.
Product
Add secure dependency scanning to Claude Desktop with Socket MCP, a one-click extension that keeps your coding conversations safe from malicious packages.
Product
Socket now supports Scala and Kotlin, bringing AI-powered threat detection to JVM projects with easy manifest generation and fast, accurate scans.