npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

table-master

v1.0.3

Published

Brings console.table features to node.js

Downloads

106

Readme

table-master

deepsource crafted

Brings extended log.table functionality to command line interfaces. This module supports alignment, colours, and pre processors.

The basic console.table

After requiring the module, the extended console.table functionality will be available. console.table will accept the following paramters: console.table(array, alignment, preProcessors):

  • array, the array containing the JSON objects to be printed out
  • alignment, the string, indication the alignment of each row
  • preProcessors, an array of pre processor functions
var tab = require('table-master');

var employees = [
    { "first name": "John", "last name": "Doe", "id": "2843650281034552", value: true },
    { "first name": "Anna", "last name": "Smith", "id": "0948736125247932", value: true },
    { "first name": "Peter", "last name": "Jones", "id": "7524535987721431", value: true }
];

console.table(employees);

Example 1

Colour support

table-master supports colour modules like chalk.

var tab = require('table-master');

var employees = [
    { "first name": chalk.red("John"), "last name": "Doe", "id": "2843650281034552", value: true },
    { "first name": "Anna", "last name": "Smith", "id": "0948736125247932", value: true },
    { "first name": "Peter", "last name": "Jones", "id": "7524535987721431", value: true }
];

console.table(employees);

Example 2

Alignment

You can align the values of the table. Available options are (r)ight, (l)eft or (c)enter.

var tab = require('table-master');

var employees = [
    { "first name": chalk.red("John"), "last name": "Doe", "id": "2843650281034552", value: true },
    { "first name": "Anna", "last name": "Smith", "id": "0948736125247932", value: true },
    { "first name": "Peter", "last name": "Jones", "id": "7524535987721431", value: true }
];

console.table(employees, "lclr"); // Yes, I'm a LaTeX guy :)

Example 3

Pre processors

You can use powerful pre processors to modify the result/look of your table output.

var tab   = require('table-master');
var chalk = require('chalk');

var employees = [
    { "first name": "John", "last name": "Doe", active: true },
    { "first name": "Anna", "last name": "Smith", active: false },
    { "first name": "Peter", "last name": "Jones", active: true }
];

console.table(employees, "llr", [
    chalk.gray, // make first names gray
    chalk.bold, // make last names bold
    function (value) { 
        // Print Yes/No if employee is active
        return value ? "Yes" : "No"
    }
]);

Example 4

Default settings

You can modify the spacing of the output by overriding the default settings:

  • indent, indentation at the begin of each line
  • rowSpace, spacing between the columns
var tab   = require('table-master');

tab.setDefaults({
   indent  : 3, // indentation at the begin of each line
   rowSpace: 1  // spacing between the columns
});