Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
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 704 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.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.