Skip to content

eces/debugs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

πŸ™ˆ UI for DEBUG=debug:*

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published