obug



A lightweight JavaScript debugging utility, forked from debug, featuring TypeScript and ESM support.
[!NOTE]
obug v1 retains most of the compatibility with debug, but drops support for older browsers and Node.js, making it a drop-in replacement.
obug v2 refactors some API imports and usage for better support of ESM and TypeScript, easier customization, and an even smaller package size.
Key Differences from debug
Minimal footprint
- 7.7 kB package size
- 1.4 KB minified + gzipped for browsers
Zero dependencies
Full TypeScript support
Native ESM compatibility
Optimized for modern runtimes
- ES2015+ browsers
- Modern Node.js versions
Customizable formatting
Installation
npm install obug
Usage
import { createDebug, disable, enable, enabled, namespaces } from 'obug'
console.log(namespaces())
const debug = createDebug('my-namespace', {
useColors: true,
color: 2,
formatArgs(args) {},
formatters: {},
inspectOpts: {},
log: console.log,
})
debug('This is a debug message')
console.log(
debug.namespace,
debug.enabled,
debug.useColors,
debug.color,
debug.formatArgs,
debug.formatters,
debug.inspectOpts,
debug.log,
)
const sub = debug.extend('sub-namespace')
sub('This is a sub-namespace debug message')
console.log(sub.namespace)
Original Authors
As obug is a fork of debug with significant modifications, we would like to acknowledge the original authors:
- TJ Holowaychuk
- Nathan Rajlich
- Andrew Rhyne
- Josh Junon
License
MIT License © 2025-PRESENT Kevin Deng
The MIT License Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
The MIT License Copyright (c) 2018-2021 Josh Junon