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

@computesdk/quilt

v1.0.1

Published

Quilt provider for ComputeSDK - tenant-scoped Linux sandboxes with exec, published services, and snapshots

Downloads

840

Readme

@computesdk/quilt

Quilt provider for ComputeSDK.

This package maps ComputeSDK's sandbox interface onto Quilt's tenant-scoped container API. It supports container lifecycle, synchronous command execution, published HTTP/WebSocket services, shell-backed filesystem operations, and Quilt snapshots.

Features

  • Create, inspect, list, and destroy Quilt containers
  • Run shell commands through Quilt's synchronous /exec API
  • Expose HTTP or WebSocket URLs through Quilt published services
  • Read and write files inside the container filesystem through exec
  • Create, list, and delete Quilt snapshots

Installation

npm install computesdk @computesdk/quilt

Configuration

The provider accepts config directly and falls back to environment variables.

import { quilt } from '@computesdk/quilt';

const provider = quilt({
  baseUrl: process.env.QUILT_BASE_URL,
  apiKey: process.env.QUILT_API_KEY,
  tenantId: process.env.QUILT_TENANT_ID,
});

Supported config fields:

  • baseUrl or QUILT_BASE_URL: Quilt backend base URL
  • apiKey or QUILT_API_KEY: Quilt API key
  • accessToken or QUILT_ACCESS_TOKEN: Bearer token for JWT-backed deployments
  • tenantId or QUILT_TENANT_ID: required for snapshot operations
  • image or QUILT_IMAGE: default container image, defaults to prod
  • timeout or QUILT_TIMEOUT_MS: default provider timeout in milliseconds
  • publishedServiceAuthMode or QUILT_PUBLISHED_SERVICE_AUTH_MODE: service_token or public
  • publishedServiceTtlSecs or QUILT_PUBLISHED_SERVICE_TTL_SECS: optional published-service TTL
  • pollIntervalMs or QUILT_POLL_INTERVAL_MS: async operation polling interval

At least one of apiKey or accessToken must be configured.

Usage

import { compute } from 'computesdk';
import { quilt } from '@computesdk/quilt';

compute.setConfig({
  provider: quilt({
    baseUrl: process.env.QUILT_BASE_URL,
    apiKey: process.env.QUILT_API_KEY,
    tenantId: process.env.QUILT_TENANT_ID,
  }),
});

const sandbox = await compute.sandbox.create({
  name: 'computesdk-demo',
  envs: {
    APP_ENV: 'dev',
  },
});

const result = await sandbox.runCommand('echo "hello from Quilt"');
console.log(result.stdout);

const url = await sandbox.getUrl({ port: 3000 });
console.log(url);

await sandbox.destroy();

Snapshot Support

Snapshot operations require tenantId because Quilt validates X-Tenant-Id on snapshot routes.

const snapshot = await provider.snapshot?.create(sandbox.sandboxId, {
  name: 'baseline',
  metadata: { branch: 'main' },
});

Limitations

  • getUrl() maps to Quilt published services, so it is HTTP/WebSocket only
  • Filesystem operations are implemented over shell exec for portability across Quilt containers
  • template operations are not exposed because Quilt's closest equivalents are image references and snapshots, which map differently