debug

A tiny, zero-config JavaScript debugging utility with namespaced, color-coded output for Node.js and the browser.

Library
npm
v4.4.3
11,458 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
62 /100 Good
Development Activity 48
Maintenance 24
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
86 /100 Excellent
Architecture 86
Code Quality 82
Innovation 92
Learning Curve 90

debug is a minimalist JavaScript debugging utility modelled after Node.js core’s own internal debugging technique. It lets you wrap conditional log output in named debug instances that stay completely silent in production unless explicitly enabled, so you can sprinkle diagnostic statements throughout a codebase without paying a runtime cost or cluttering normal output.

Output is toggled entirely through the DEBUG environment variable (or localStorage.debug in the browser), with wildcard and exclusion patterns for selecting exactly which namespaces to surface. Each namespace gets an automatic color, printf-style formatters, and millisecond timing diffs between calls, making it one of the most widely depended-on packages in the npm ecosystem.

What You Get

  • A tiny factory API: require('debug')('namespace') returns a ready-to-use logging function
  • Runtime enable/disable controlled by the DEBUG env var (or localStorage.debug in browsers) with wildcard and exclusion patterns
  • Automatic per-namespace colors and millisecond timing diffs between successive calls
  • printf-style formatters (%o, %O, %s, %d, %j) plus support for registering custom formatters
  • Isomorphic builds for both Node.js and the browser from a single package

Common Use Cases

  • Instrumenting a library so downstream consumers can toggle its internal logging without code changes
  • Adding low-overhead, namespaced diagnostics to an application that stay quiet in production
  • Selectively enabling logs from specific subsystems (e.g. DEBUG=app:db,app:http) while excluding noisy ones

Under The Hood

Architecture — The package is deliberately small and factored around a shared core: src/index.js sniffs the runtime (checking process.type, process.browser, and process.__nwjs) and delegates to either src/node.js or src/browser.js, each of which supplies environment-specific concerns (color detection, output stream, env parsing) into the common setup(env) factory in src/common.js. That factory builds the createDebug function, whose per-namespace debug closure tracks previous timestamps, computes millisecond diffs, applies formatters, and short-circuits immediately when disabled.

Tech Stack — Pure JavaScript targeting node >=6, with a single runtime dependency (ms for humanizing time diffs) and an optional supports-color peer dependency for richer Node color output. Browser bundles are produced with browserify; tests run on mocha with sinon, and karma drives the browser test suite. Linting is handled by xo.

Code Quality — The codebase is compact and well-commented, with a clear separation between shared logic and platform adapters. Tests exist (test.js plus test.node.js) covering enable/disable semantics, formatting, and namespace matching, run through mocha and karma. The narrow API surface and long production history across hundreds of millions of weekly downloads make it battle-tested.

API Design — The public API is exceptionally ergonomic: require('debug')('namespace') returns a callable logger, and everything else (wildcards, exclusions, .extend(), .enable()/.disable(), custom formatters, per-instance log overrides) layers on without ceremony. Zero configuration is required to get started, and runtime control via the DEBUG env var means instrumentation needs no code changes to toggle.

Used by 32 apps in this directory

TypeScript
99%
Apache 2.0

Mastra Code

AI Code Assistants

29,041

"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
90
Repo Health
73
Technical
65
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago
TypeScript
92%
Other

n8n

Automation · No Code Platforms

208,437

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
62
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
65%
Other

NocoDB

Databases · Low Code Platforms · No Code Platforms

65,340

Turn any SQL database into a collaborative no-code spreadsheet with automatic REST APIs and real-time views.

View details
91
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 65%
Vue 30%
Updated 1 weeks ago
TypeScript
91%
AGPL 3.0

PeerTube

Social Media

15,362

A federated, ActivityPub-based video hosting platform built by Framasoft — self-hostable instances interconnect into a network with no vendor lock-in, P2P-assisted streaming, and no ads.

View details
96
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 91%
Updated 2 weeks ago
TypeScript
90%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,125

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 90%
Updated 1 weeks ago
Python
45%
Other

Redash

Analytics · Data Engineering

28,849

Redash lets anyone connect to 35+ SQL and NoSQL data sources, write a query in the browser, and turn the result into a shared dashboard — no separate BI suite required.

View details
91
Repo Health
74
Technical
61
Dependency
Built with
Python 45%
JavaScript 29%
TypeScript 19%
Updated 1 weeks ago
TypeScript
96%
Other

Refly

AI Development · Automation · No Code Platforms

7,537

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
68
Repo Health
76
Technical
63
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
TypeScript
97%
Other

Rocket.Chat

Team Chat

46,304

The secure, self-hosted team communications platform for organizations that cannot compromise on data sovereignty.

View details
96
Repo Health
79
Technical
63
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
99%
MIT

Sanity

CMS

6,370

Open-source headless CMS with a fully customizable React Studio, real-time collaborative editing, structured content modeling, and GROQ query language

View details
92
Repo Health
90
Technical
66
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago

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