verdaccio

A lightweight, zero-config-required private npm registry with built-in caching and proxying of public registries.

Tool
npm
v6.10.3
17,867stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
91/100Excellent
Development Activity100
Maintenance96
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
82/100Excellent
Architecture82
Code Quality85
Innovation72
Learning Curve90

Verdaccio is a private npm-compatible package registry you run yourself, letting teams publish and consume private packages without sending code to a public registry. It ships with its own lightweight built-in storage so there’s no separate database to provision, and it proxies public registries like npmjs.org, caching every module it fetches to speed up installs and provide a safety net when the upstream registry is unavailable.

Beyond a single binary, Verdaccio is built as a monorepo of composable packages — a CLI, a Node API, an Express-based HTTP server, a pluggable storage layer, and an authentication/plugin system — so teams can extend it with custom storage backends (S3, Google Cloud Storage), authentication schemes, or package-filtering rules instead of being locked into the defaults.

What You Get

  • A single self-hosted binary that speaks the full npm registry protocol, installable via npm, Docker, or an official Helm chart.
  • Built-in local storage for private packages with no external database required to get started.
  • Transparent proxy caching of upstream registries (e.g. npmjs.org), so cached tarballs remain available even during upstream outages.
  • A plugin architecture for swapping in alternative storage backends (S3, Google Cloud Storage), authentication providers, and package filters.
  • A web UI for browsing packages, plus verified compatibility with the npm, Yarn, pnpm, Bun, and Deno CLIs.

Common Use Cases

  • Hosting private company packages without exposing source code to a public registry.
  • Caching npmjs.org downloads across a fleet of CI machines to cut install latency and reduce exposure to upstream outages.
  • Overriding a public package with a patched local version while waiting on an upstream pull request to merge.
  • Running a fast, disposable registry inside CI pipelines for end-to-end publish/install testing.

Under The Hood

Architecture Verdaccio is organized as a pnpm-workspace monorepo (packages/) split into a thin CLI entrypoint (packages/verdaccio, whose src/index.ts re-exports runServer from @verdaccio/node-api wired to startServer from @verdaccio/server, with bin/verdaccio invoking @verdaccio/cli’s runCli()), a request-handling layer (@verdaccio/server plus @verdaccio/middleware’s modular Express middlewares for auth, rate-limiting, dotfiles, error handling, and web rendering), a storage layer (@verdaccio/store’s storage.ts orchestrating ProxyStorage from @verdaccio/proxy, Search from @verdaccio/search, and tarball/version utilities from @verdaccio/core and @verdaccio/tarball), and a plugin surface (packages/plugins/{audit,auth-memory,htpasswd,local-storage,memory,package-filter,ui-theme}) implementing pluginUtils interfaces exported from @verdaccio/core. This separation means storage, auth, and package-filtering can each be swapped via config without touching the HTTP layer.

Tech Stack Verdaccio is a TypeScript/Node.js monorepo (Node 24+ for the active development branch) managed with pnpm workspaces and Vite for building each package, with Express-based HTTP handling via @verdaccio/middleware and lodash-es for utilities. Testing runs on Vitest plus Cypress for UI end-to-end flows, alongside a separate e2e-cli/e2e-ui matrix that exercises npm, Yarn, pnpm, Bun, and Deno against a running instance. Linting and formatting are handled by oxlint and oxfmt, changesets drive versioned releases across the workspace’s many packages, and deployment targets include an official Dockerfile, a Helm chart, and global npm/yarn/pnpm installs.

Code Quality The repo contains an extensive set of spec/test files across its packages, each colocating its own suite and running through a workspace-wide test command via Vitest, with coverage tracked and generated/build artifacts explicitly excluded. TypeScript is used throughout with a shared base config, giving static typing across public plugin interfaces. oxlint enforces linting against a documented warning budget, Husky runs pre-commit hooks, and CI plus the external e2e matrix provide both unit-level and full end-to-end coverage against real package-manager clients — this reads as a mature, well-tested codebase.

What Makes It Unique Unlike registry proxies that only cache tarballs, Verdaccio’s uplink model lets an admin chain multiple upstream registries and lets a local publish shadow/override an existing public package under the same name, a capability documented as a first-class workflow rather than a workaround. Its plugin system (storage, auth, package-filter, audit) is exposed as first-class TypeScript interfaces, letting third parties ship registry backends or custom auth without forking, and the project maintains a dedicated end-to-end test matrix across essentially every major JS package manager — a level of cross-client compatibility testing uncommon even among registry-proxy competitors.

Used by 7 apps in this directory

Rust
67%
MIT

Bun

Developer Tools

95,895

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
64
Dependency
Built with
Rust67%
C++19%
Updated yesterday
Java
73%
Other

ByteChef

Automation · AI Agents

1,000

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
85
Repo Health
82
Technical
70
Dependency
Built with
Java73%
TypeScript26%
Updated yesterday
TypeScript
45%
Other

Convex Backend

Developer Tools · Databases

12,494

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript45%
Rust43%
Updated 2 days ago
TypeScript
99%
Apache 2.0

Mastra Code

AI Code Assistants

27,743

"A coding agent that never compacts" — a terminal-based AI coding agent built on the Mastra framework, with Observational Memory instead of context compaction, multi-model support, and OAuth login for Claude Max or ChatGPT Plus.

View details
88
Repo Health
73
Technical
65
Dependency
Built with
TypeScript99%
Updated today
TypeScript
98%
Other

Novu

Developer Tools

39,870

Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.

View details
93
Repo Health
80
Technical
64
Dependency
Built with
TypeScript98%
Updated yesterday
TypeScript
80%
Other

twenty

CRM

56,361

The open-source CRM you build, ship, and version like the rest of your stack — with customizable objects, AI agents, and a TypeScript SDK.

View details
92
Repo Health
82
Technical
64
Dependency
Built with
TypeScript80%
MDX17%
Updated yesterday
TypeScript
85%
Other

Webiny JS

Ecommerce · Blogging · CMS

8,032

Open-source, self-hosted CMS on AWS serverless — a TypeScript framework you extend with code, not a product you configure through a UI.

View details
90
Repo Health
86
Technical
62
Dependency
Built with
TypeScript85%
JavaScript14%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search