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
    CSS vs. JS Animation: Which is Faster?

    How is it possible that JavaScript-based animation has secretly always been as fast — or faster — than CSS transitions? And, how is it possible that Adobe and Google consistently release media-rich mobile sites that rival the performance of native apps? This article serves as a point-by-point...

  • By
    Create Namespaced Classes with MooTools

    MooTools has always gotten a bit of grief for not inherently using and standardizing namespaced-based JavaScript classes like the Dojo Toolkit does.  Many developers create their classes as globals which is generally frowned up.  I mostly disagree with that stance, but each to their own.  In any event...

Incredible Demos

  • By
    MooTools Overlay Plugin

    Overlays have become a big part of modern websites; we can probably attribute that to the numerous lightboxes that use them. I've found a ton of overlay code snippets out there but none of them satisfy my taste in code. Many of them are...

  • By
    Prevent Page Zooming in Mobile Browsers

    Ever since I got my iPhone, I've been more agreeable in going places that my fiancee wants to go. It's not because I have any interest in checking out women's shoes, looking at flowers, or that type of stuff -- it's because my iPhone lets...

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!