Skip to content

Tiny debug tool (~500 bytes) for terminal and browser inspired by debug-js/debug API.

License

Notifications You must be signed in to change notification settings

willybrauner/debug

Repository files navigation

@wbe/debug

Tiny debug tool (~500 bytes) for terminal and browser inspired by debug-js/debug API.

Motivation

@wbe/debug was built in order to be as light as possible for terminal and browser, as the same way as the great visionmedia/debug tool.

Installation

$ npm i @wbe/debug

debug node

DEBUG=* node file.js  
const debug = require("@wbe/debug")
debug('foo'); // "foo"

process.env.DEBUG value can be defined as a specific namespace too:

DEBUG=namespace node file.js  

Only debug function declaration with namespace declared as namespace will be printed in the console:

// add the namspace as returned function paramater
const debug = require("@wbe/debug")("namespace")
debug('foo'); // "namespace foo"

process.env.DEBUG value accept "one glob parameter level":

DEBUG=config:* node file.js

Every debug function declaration with namespace config:{somestring} will be logged.

debug in browser

In the same way as nodejs usage, debug is browser compatible with the same API. The only difference is we need to set the current namespace in localStorage.

Add on your browser localStorage:

localStorage.debug = "foo"

Use debug in javascript:

// es6 import
import debug from "@wbe/debug"
const log = debug('foo');
log("bar") // "foo bar"

// commonjs import
const debug = require("@wbe/debug")("foo")
debug('bar'); // "foo bar"

Examples

Install dependencies:

pnpm i

Start example:

# browser example
npm run dev:example-browser
# node example
npm run dev:example-dev

Credits

Willy Brauner

Licence

MIT