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

webtreemap-cli

v2.3.2

Published

treemap visualization

Downloads

182

Readme

webtreemap CLI

No frills treemap visualization from the command line. Includes built-in facilities for visualizing space using on disk or in a JSON file, but the simple input format makes it easy to create a treemap visualization of anything you like.

See a demo of what the visualization looks like here.

Usage

Install with

npm install -g webtreemap-cli

Then run with:

treemap < my_data

Input data format is whitespace-separated lines of size path, where size is a number and path is a '/'-delimited path. For example:

$ cat my_data
100 all
50 all/thing1
25 all/thing2

If the number is omitted, it is assumed to be 1. This lets you visualize the number of files in each directory using the find command, for example:

find . -type f | treemap

Note that there's nothing file-system-specific about the data format -- it just uses slash as a nesting delimiter.

Special inputs

The previous section described the general input format. The treemap binary also includes subcommands for a few specific use cases that come up frequently in practice.

Disk usage of a directory

i.e. "why is node_modules so big!?"

treemap du node_modules

Space used in a JSON file

JSON is ubiquitous, but it's not known for making efficient use of space. You can visualize why a JSON file is large using the du:json subcommand:

treemap du:json file.json

For a GeoJSON file, for example, this can tell you whether feature geometries or properties are using more bytes. If it's geometries, then TopoJSON might be helpful. If it's properties, then you'll need to think more about how you're structuring your data.

Space used in a source map

See source-map-explorer.

Options

  • -f, --format [format]

    Set the output format. By default this is HTML. You may also output JSON or text, which produces a format that may be fed back into treemap. This is useful if you want to use one of the special inputs but edit the results before visualization.

  • -o, --output [path]

    Output to a file rather than opening a web browser or printing to stdout (depending on the output format). If -o is specified but not -f, then the output format will be set based on the output file name's extension.

  • --title [string]

    Set the page title for HTML output.

Development

Run:

yarn build
yarn demo

Develop:

yarn watch
yarn demo

Format code:

yarn fmt

Credits

This was forked from evmar/treemap, which is no longer actively maintained. This is the same visualization used in source-map-explorer.

License

webtreemap is licensed under the Apache License v2.0. See LICENSE.txt for the complete license text.