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

@git-stunts/vault

v1.0.0

Published

A secure interface to OS-native keychains (macOS, Linux, Windows) for "Zero-Secret Architecture."

Readme

@git-stunts/vault

A secure interface to OS-native keychains (macOS, Linux, Windows) for "Zero-Secret Architecture."

Why Vault?

Storing API keys or encryption secrets in .env files is a security risk. vault offloads this responsibility to the operating system's native secure storage. Your application never "owns" the secret—it simply requests it when needed.

Features

  • Cross-Platform: Supports macOS Keychain, Linux Secret Service, and Windows Credential Manager.
  • Zero-Secret: No plain-text keys on disk.
  • Interactive: Can prompt the user for missing secrets and store them automatically.

Requirements

  • macOS: Works out of the box (uses security).
  • Linux: Requires libsecret (e.g., sudo apt install libsecret-tools).
  • Windows: Requires the CredentialManager PowerShell module.

Runtime-specific adapters

  • Node (default): Vault auto-detects Bun and Deno globals and falls back to the Node adapter when neither is present.
  • Bun: Import createBunKeychainAdapter (or rely on the auto-detection) to execute commands with Bun.spawnSync when running under Bun.
  • Deno: Import createDenoKeychainAdapter and run via Deno.Command. See deno.json and Dockerfile.deno for a working setup.

The plumbing/ folder contains the reference Dockerfiles for each runtime (Dockerfile.bun, Dockerfile.deno, etc.), so you can see how the ports are wired together in an end-to-end image.

Docker-based tests

  • npm test runs scripts/run-multi-runtime-tests.sh, which in turn brings up the node-test, bun-test, and deno-test containers defined in docker-compose.yml.
  • Each container uses the respective Dockerfile (Dockerfile, Dockerfile.bun, Dockerfile.deno) so you can reproduce the same setup locally or in CI.

Usage

import Vault from '@git-stunts/vault';

const vault = new Vault({ account: 'my-app' });

// Get a secret (returns undefined if missing)
const key = vault.getSecret({ target: 'CHUNK_ENC_KEY' });

// Ensure a secret exists (prompts user if missing)
const secret = await vault.ensureSecret({ 
  target: 'API_TOKEN', 
  promptMessage: 'Enter your API Token' 
});

// Resolve with Env Var priority
const apiKey = vault.resolveSecret({ 
  envKey: 'MY_API_KEY', 
  vaultTarget: 'api-key' 
});

Docker images

  • Dockerfile (Node) mirrors the repository root workflow and runs npm test.
  • Dockerfile.bun copies both projects, installs with Bun, and runs bun run vitest test/unit.
  • Dockerfile.deno relies on deno task test defined in deno.json, which proxies back to the npm test stack via the shared script.

License

Apache-2.0 Copyright © 2026 James Ross