Skip to main content
Execute JavaScript code with Node.js 20 LTS and popular npm packages.

Basic Usage

from gravixlayer import GravixLayer

client = GravixLayer(api_key="YOUR_API_KEY")

sandbox = client.sandbox.sandboxes.create(template="python-base-v1", timeout=300)
sid = sandbox.sandbox_id

result = client.sandbox.sandboxes.run_code(
    sid,
    code="""
const data = [1, 2, 3, 4, 5];
const sum = data.reduce((a, b) => a + b, 0);
console.log(`Sum: ${sum}`);
""",
    language="javascript",
)
print(result.logs.stdout)

Parameters

ParameterTypeRequiredDescription
codestringYesJavaScript code to execute
languagestringYesSet to “javascript”
timeoutintegerNoTimeout in seconds (default: 30)

Response

{
  "execution_id": "exec_def456",
  "results": {
    "stdout": [
      {
        "type": "stdout",
        "line": "Sum: 15",
        "timestamp": "2025-01-27T10:30:00Z"
      }
    ]
  },
  "error": null,
  "logs": {
    "stdout": ["Sum: 15"],
    "stderr": []
  }
}

Available Packages

  • Web Frameworks: Express, Fastify, Socket.io
  • Utilities: Lodash, Axios, Moment.js, UUID
  • Development: TypeScript, Jest, Mocha
  • Data Processing: CSV-parser, Cheerio

Example: Express Server

result = client.sandbox.sandboxes.run_code(
    sid,
    code="""
const express = require("express");
const app = express();

app.get("/api/status", (req, res) => {
  res.json({ status: "ok", timestamp: new Date().toISOString() });
});

const server = app.listen(3000, () => {
  console.log("Server running on port 3000");
});

// Stop server after demo
setTimeout(() => server.close(), 1000);
""",
    language="javascript",
)
print(result.logs.stdout)

Next Steps

Run Python Code

Execute Python with data science libraries

Run Commands

Execute shell commands and install packages

Read Files

Read files from the sandbox filesystem

Create Sandbox

Create a new sandbox for code execution