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 🙏

© 2026 – Pkg Stats / Ryan Hefner

cutwood

v0.0.2

Published

Yet another logger

Readme

Cut Wood

Another logger, but this one is aimed at devs. Not for production but for a simple daily developer life.

Status

Under development - not usable

Aims

  1. Transform a stream of dense unintelligible logging (from stdout) into something that a dev currently cares about (that might be different per day)
  2. Parse historic dense unintelligible log files into searchable form
  3. Using the parse logs, easily find via the cli a line of logging that is of interest

Current Usage

This is under development and is likely to change Instal globally

npm install -g cutwood

Then pipe into it

ping www.rankida.com | cutwood

by default it will just echo what you give it, but more coming soon!

A very simple configuration currently under the profile name of "server" will strip out any ops logging (like you can get from a hapijs server) and will also colour red any logs with the word error in it.

node ./test/fixtures/server.js | cutwood --profile server

This uses a simple test script in server.js to generate some logs. Run it without cutwood to see what the original looks like.

Implementation thoughts

There are a few stages

Input: _Get the logs_
  `-> stdout
  `-> single log file
  `-> single folder with log files
  `-> single folder with many sub-folders with logs somewhere in and about there
Parsing: _Turn log lines into objects_
  `-> For now simple transform of one log line to one object
     `-> In the future there could be places where multiple log lines make up an object eg stack traces
  `-> string splits, regexes, JSON parsing etc
Filtering: _Throw it away_
  `-> exclude an entry permanently from progressing
  `-> regex or simple javascript func
  `-> could come before and after parsing
Output format: _Send it to where it needs to go_
  `-> For consoles that will be pretty printing etc
    `-> conditions should be placed on it because some lines may be just raw log, others might be pretty formats
  `-> For search indexes we might need to prepare the object with what is searchable/keywords/untokenized etc

References

  • through - https://github.com/dominictarr/through
  • transform-stream - https://github.com/Raynos/transform-stream

Possible Usages

cutwoood
    .stdin()
    .remove()
    .transform(//)