npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

microsandbox

v0.1.1

Published

TypeScript SDK for creating and managing secure sandboxes for code execution

Readme

Microsandbox JavaScript/TypeScript SDK

A secure, efficient sandbox for executing untrusted code from TypeScript/JavaScript applications.

Installation

npm install microsandbox

Requirements

  • Node.js 14.x or later
  • A running Microsandbox server with a valid API key

Configuration

Before using the SDK, you need to set your Microsandbox API key:

export MSB_API_KEY=msb_***

Quick Start

Here's a simple example using the NodeSandbox to execute JavaScript code:

import { NodeSandbox } from "microsandbox";

async function main() {
  // Create and start a Node.js sandbox
  const sb = await NodeSandbox.create({ name: "test" });

  try {
    // Execute JavaScript code in the sandbox
    let exec = await sb.run("var name = 'JavaScript'");
    exec = await sb.run("console.log(`Hello ${name}!`)");

    // Get the output
    console.log(await exec.output()); // prints Hello JavaScript!
  } finally {
    // Stop the sandbox when done
    await sb.stop();
  }
}

main().catch(console.error);

Available Sandbox Types

The SDK provides several specialized sandbox environments:

  • NodeSandbox: For executing JavaScript/TypeScript code
  • PythonSandbox: For executing Python code

Each sandbox type is optimized for its respective language environment.

Creating a Sandbox

You can create a sandbox with custom options:

import { NodeSandbox, SandboxOptions } from "microsandbox";

// Using builder pattern
const options = SandboxOptions.builder()
  .name("my-sandbox")
  .memory(1024)
  .cpus(2)
  .build();

// Create and start the sandbox
const sandbox = await NodeSandbox.create(options);

// Don't forget to stop the sandbox when done
await sandbox.stop();

Running Shell Commands

You can execute shell commands in the sandbox:

const cmd = await sandbox.command.run("ls", ["-la"]);
console.log(await cmd.output());
console.log("Exit code:", cmd.exitCode);

Monitoring Sandbox Metrics

Get resource usage metrics for your sandbox:

// Get all metrics
const metrics = await sandbox.metrics.all();
console.log(metrics);

// Get specific metrics
const cpuUsage = await sandbox.metrics.cpu();
const memoryUsage = await sandbox.metrics.memory();
const diskUsage = await sandbox.metrics.disk();

Error Handling

try {
  const exec = await sandbox.run("invalid code");

  if (exec.hasError()) {
    console.error("Execution error:", await exec.error());
  } else {
    console.log("Result:", await exec.output());
  }
} catch (err) {
  console.error("Sandbox error:", err.message);
}

Development

Building the SDK

npm run build

Running Tests

npm test

License

Apache License 2.0