1.0.11 ā€¢ Published 6 years ago

debugs v1.0.11

Weekly downloads
5
License
MIT
Repository
github
Last release
6 years ago

debugs šŸ™ˆ

npm install debugs -g

ā†’

Features

  • No more remember debug scopes.
  • Choose debug scopes on debugs with keyboard.
  • Loaded from package.json and subdirectories.
  • Replace DEBUG=debug:* to DEBUG=${debugs -v}.
  • Configure bash/zsh/shell export by typing debugs init.
  • See flatten debugs options over subdirectories.

Usage

Use debug for logging.

peerDependencies debug must be installed.

// Basic use of debug package.
const debug_api = require('debug')('api')
const debug_api_cache = require('debug')('api:cache')

// outputs only if environment variable DEBUG has 'api' scope.
debug_api('api.validate %O', doSomething())
  
/* 
 * outputs only if environment variable DEBUG has 
 * 'api:cache' or 'api:*' or 'api*' 
 * scope. 
 */
debug_db('api.cache.validate %O', doSomething())

Add debug namespace items on package.json.

{
  "name": "example",
  "version": "1.0.0",
  "main": "index.js",
  "debugs": [
    "api",
    "api:cache"
  ]
}

Type debugs will show below.

? DEBUG=
āÆ ā—Æ api
  ā—Æ api:cache

Press <space> to select, <a> to toggle all, <i> to inverse selection

Choose any and press enter(return).

? DEBUG=
 ā—Æ api
āÆā—‰ api:cache

? DEBUG= api:cache

$ 

It's done. Apply changes by $ DEBUG=$(debugs -v) npm start or

// any-file.js

// will load package.json at project directory root.
require('debugs/init')

You may add .debugs to .gitignore.

Advanced use

Running debugs with

  • option --c, -v and value will partial output api,api:cache.
  • option --init, -i and init will full output export DEBUG=api,api:cache.

Edit start script to pre-apply debug values,

"scripts": {
  "start": "DEBUG=$(debugs -v) node index.js",
},

# DEBUG=$(debugs -v) nodemon index.js

prestart script either.

"scripts": {
  "prestart": "$(debugs init)",
  "start": "node index.js"
}

Without global install:

# shell
$ npm install --save-dev debugs

# package.json
"scripts": {
  "start": "DEBUG=$(node ./node_modules/debugs -v) node index.js",
  "debug": "node ./node_modules/debugs"
}

# shell
$ npm run debug

Include other json file or subdirectories.

{
  "name": "example",
  "version": "1.0.0",
  "main": "index.js",
  "debugs": [
    "api",
    "api:cache",
    "lib/something/package.json"
  ]
}

NEW Group all peer debugs into one state over subdirectories. (flatten)

.
ā”œā”€ā”€ package.json
ā”œā”€ā”€ peer1
ā”‚Ā Ā  ā””ā”€ā”€ package.json
ā””ā”€ā”€ peer2
    ā”œā”€ā”€ package.json
    ā””ā”€ā”€ peer2a
        ā””ā”€ā”€ package.json

Only one .debugs root state file will be saved, and readable from any current working directory.

Authors

  • Jin Lee

License

  • MIT