Frequently Asked Questions

Everything you need to know about our node_modules caching service

General

What is node_modules cache?

node_modules cache is a service that speeds up your npm ci builds by caching your node_modules dependencies. Instead of downloading and installing packages every time, we cache them and return a pre-built tarball, reducing build times from minutes to seconds.

How does it work?

The process is simple:

  1. You send your package.json and package-lock.json files to our API
  2. We generate a unique cache key based on your dependencies and Node.js version
  3. If cached, we return the tarball immediately; if not, we run npm ci and cache the result
  4. You extract the tarball and continue with your build

What CI/CD systems are supported?

Our service works with any CI/CD system that can make HTTP requests (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI, Bitbucket Pipelines, etc.). We provide a simple REST API that's platform-agnostic.

Pricing & Plans

Is there a free plan?

Yes! Our Free plan includes 10 uncached requests per day and 100 per month. Cached requests (cache hits) are unlimited on all plans. This is perfect for small projects and trying out the service.

What's the difference between cached and uncached requests?

Uncached requests (cache misses): When we don't have your dependencies cached yet, we need to run npm ci to install them. This counts against your daily/monthly limit.

Cached requests (cache hits): When we already have your exact dependencies cached, we return them instantly. These are unlimited on all plans and don't count against your limit.

What happens if I exceed my limits?

If you exceed your daily or monthly uncached request limit, API requests will return an error until the limit resets. You can upgrade to the Pro plan for higher limits, or you can fall back to regular npm ci in your CI/CD pipeline.

Can I cancel my subscription anytime?

Yes, you can cancel your Pro subscription at any time. You'll retain access until the end of your current billing period.

Security & Privacy

Is my data secure?

Yes. All API requests require authentication using API tokens. Your cached node_modules are isolated per user and cannot be accessed by other users. We use secure storage and encrypt data in transit.

Do you store my package.json files?

We use your package.json and package-lock.json files to generate a cache key and install dependencies, but we don't permanently store your source code or configuration files. We only cache the resulting node_modules directory.

Can other users access my cached packages?

No. Each user's cache is completely isolated. Your API token authenticates you, and only you can access your cached node_modules.

Technical

What Node.js versions do you support?

We support any Node.js version available as a Docker image. You specify the Docker image reference (e.g., "node:20.13.1" or "node:18-alpine") in your request, and we use that environment to install your packages.

What architectures are supported?

We support both x64 (amd64) and arm64 architectures. You specify the architecture in your API request to ensure packages with native binaries are built for the correct platform.

How long are packages cached?

Cached packages are stored indefinitely as long as you're an active user. If you don't use the service for an extended period, old caches may be cleaned up, but active caches are retained.

What if I have private npm packages?

Currently, we support public npm packages. If you need support for private packages or custom registries, please contact us. We're working on adding this feature.

How do I integrate this into my CI/CD pipeline?

Integration is straightforward. Here's a basic example:

# Download cached node_modules
curl -X POST https://your-domain.com/v1/npm/ci \
  -H "Authorization: Basic $(echo -n 'username:token' | base64)" \
  -H "Content-Type: application/json" \
  -d @payload.json \
  --output node_modules.tar.gz

# Extract
tar -xzf node_modules.tar.gz

# Continue with your build
npm run build

What's the API response time?

For cache hits, response time is typically under 2-5 seconds depending on the size of your node_modules. For cache misses (first time), it takes as long as npm ci would take (typically 1-5 minutes), but subsequent requests with the same dependencies are instant.

Support

How do I get support?

Pro plan users get priority support. You can view your usage analytics and API logs from your dashboard. If you encounter issues or have questions, feel free to contact us .

Can I track my API usage?

Yes! Your dashboard includes detailed usage analytics showing total requests, cache hits, cache misses, hit rates, and more. You can monitor your daily and monthly usage against your plan limits.

Still have questions?

Get started with our free plan and explore the service yourself.

Start free trial