@wbe/debug

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

Usage no npm install needed!

<script type="module">
  import wbeDebug from 'https://cdn.skypack.dev/@wbe/debug';
</script>

README

@wbe/debug

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

Motivation

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

Installation

$ npm install -s @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 printed.

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:

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

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

log("bar") // "foo bar"

Example

Test browser example:

npm i && npm run dev:browser

Test node example:

npm i && npm run dev:node

Credits

Willy Brauner

Licence

MIT