Better Node.js Console Dumps with console-probe

By  on  

Writing JavaScript in the Node.js environment has always felt a bit more difficult; probably because browser developer tools have become incredibly powerful, interactive, and visually appealing.  Using console.log on the client side isn't the best of experiences and obviously isn't interactive.

Though not interactive, I've found that console-probe is an improvement over console.log, providing me highlighted property types, lengths, and a nice visual tree view.

const probe = require('console-probe')

const donut = {
  'id': '0001',
  'type': 'donut',
  'name': 'Cake',
  'description': 'A small fried cake of sweetened dough, typically in the shape of a ball or ring.',
  'ppu': 0.55,
  'common': true,
  'batters':
  {
    'batter':
    [
      { 'id': '1001', 'type': 'Regular' },
      { 'id': '1002', 'type': 'Chocolate' },
      { 'id': '1003', 'type': 'Blueberry' },
      { 'id': '1004', 'type': "Devil's Food" }
    ]
  },
  // .....


// Highlight nicely to console
const prober = probe.get()
prober(donut)

console-probe is one of those nice, luxury utilities that can make debugging in a static environment just a bit better!

Recent Features

  • By
    5 Ways that CSS and JavaScript Interact That You May Not Know About

    CSS and JavaScript:  the lines seemingly get blurred by each browser release.  They have always done a very different job but in the end they are both front-end technologies so they need do need to work closely.  We have our .js files and our .css, but...

  • By
    Send Text Messages with PHP

    Kids these days, I tell ya.  All they care about is the technology.  The video games.  The bottled water.  Oh, and the texting, always the texting.  Back in my day, all we had was...OK, I had all of these things too.  But I still don't get...

Incredible Demos

  • By
    Digg-Style Dynamic Share Widget Using the Dojo Toolkit

    I've always seen Digg as a very progressive website. Digg uses experimental, ajaxified methods for comments and mission-critical functions. One nice touch Digg has added to their website is their hover share widget. Here's how to implement that functionality on your site...

  • By
    TextboxList for MooTools and jQuery by Guillermo Rauch

    I'll be honest with you: I still haven't figured out if I like my MooTools teammate Guillermo Rauch. He's got a lot stacked up against him. He's from Argentina so I get IM'ed about 10 times a day about how great Lionel...

Discussion

  1. Console probe seems to be an interesting improvement and it is obvious it could make javascript programming simpler.

  2. Paolo

    Nice. For me though,

    console.dir({ process }, {colors: 1, depth: Infinity})

    (or any other depth that suits your use case) does the job for many use cases.

  3. Grant Carthew

    The console-probe package has been updated since this article was written. It now has complex type support.

    As Paolo has pointed out, console.dir is quite good however it is a little verbose when all you want to do is see the API that is exposed by an object. Also, console-probe includes function signatures.

  4. Thanks for clarification and one more guys, I have a request for you – Could you please help me change the directory of my Node.js script?

    #!/usr/bin/env node
    process.chdir('/Users')
    

    I know it can be done through process.chdir(directory) but I do not know how to do that.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!