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

lastwave

v1.0.3

Published

LastWave TUI - a terminal YouTube Music client with synced lyrics, powered by mpv + yt-dlp.

Readme

lastwave · terminal YouTube Music client

A cross-platform terminal YouTube Music client — browse the latest releases, search the full catalog, stream high-quality audio through mpv + yt-dlp, and sing along to synced lyrics (LRCLIB). Made by Nishal.M.

Runs on Windows, macOS, and Linux. Works guest-only, or with your own Google cookies for a personalized Home / Library.

┌ lastwave · terminal · yt music ──────────────────────▶ ON AIR · Daft Punk — Instant Crush ┐
│ View            │  Home · music · trending · mixes                                        │
│ ▶ Home        h │  ── Today's hits                                                       │
│   Explore    e  │    ▶ ♫ Pop Certified                …                                   │
│   Search     s  │      ♫ seniorita                      …                                   │
│   Queue      c  │                                      …                                   │
│   Library    a  │  ── New releases                     ...                                │
│   Liked      f  │                                      …                                   │
├─────────────────┼─────────────────────────────────────────────────────────────────────────┤
│ ▶ Instant Crush — Daft Punk · Julian Casablancas          ♪ LRC                            │
│   1:12 ━━━━━━━━━━━╸━━━━━━━━━━━ 5:38       ◔ vol 70                                        │
│ ↑/↓ move · Enter play · Space pause · j/y seek · ←/→ seek5 · n next · p prev …  q back/quit │
└────────────────────────────────────────────────────────────────────────────────────────────┘

Requirements

  • Node.js 18+ (npm ships with it)
  • mpv — the audio engine
  • yt-dlp — extracts the YouTube Music streams for mpv

Install

The small command — works on Windows, Arch, and any OS with Node 18+:

npm i -g lastwave     # installs the app + all npm dependencies
lastwave --setup          # installs mpv + yt-dlp (the playback engine)
lastwave                  # start

lastwave --setup fetches the native playback tools with winget / pacman / apt / dnf / brew. Then just run lastwave. Verify anytime:

lastwave --doctor

Why two steps? npm 11+ blocks package install scripts by default (allow-scripts), so --setup is the reliable way to get mpv + yt-dlp on every npm version. No global install? Try npx lastwave.

From source (alternative)

git clone https://github.com/YOU/lastwave.git && cd lastwave
npm install
npm install -g .        # Windows: run PowerShell as needed; Arch: prefix with sudo
lastwave

Or use the bundled installers: scripts\install-windows.ps1 (Windows), ./scripts/install-arch.sh (Arch), ./scripts/install.sh (other Linux/macOS).

Manual install (any OS)

# ensure node/mpv/yt-dlp are installed, then:
npm install
npm install -g .
lastwave

Optional: connect your YouTube account

Browsing/searching/streaming works without an account. For login-gated data (your library, liked songs, personalized Home), export your browser cookies:

  1. Install the "Get cookies.txt LOCALLY" browser extension (Chrome/Firefox).
  2. Export cookies for music.youtube.com as cookies.txt.
  3. Import into lastwave:
lastwave --import-cookies /path/to/cookies.txt

Usage

| Key(s) | Action | | --- | --- | | ↑ ↓ PgUp PgDn Home End | move selection | | Enter | play selected / open album·artist·playlist | | Space / k | play / pause | | j / y | seek −10s / +10s | | ← → , . | seek −5s / +5s | | [ ] / - = | volume down / up | | m | mute | | n / p | next / previous track | | l | now-playing + synced lyrics | | r | start radio from a song | | s or / | search | | 1..5 Tab | search category (songs/albums/artists/playlists/videos) | | z / x | shuffle queue / toggle autoplay | | d / D | download track / entire page to ~/Music/LastWave (with .lrc) | | f | like / unlike | | h e c a | Home / Explore(latest) / Queue / Library | | ? | help | | q or Esc | back / quit |

Commands

lastwave                # launch the TUI
lastwave --setup        # install mpv + yt-dlp (playback engine)
lastwave --doctor       # verify mpv + yt-dlp + node
lastwave --help         # CLI help & hotkeys
lastwave --version

Troubleshooting

  • "mpv not found" — install mpv/yt-dlp and reopen your terminal, or point to custom binaries: SET LASTWAVE_MPV=C:\path\mpv.exe.
  • No playback — run lastwave --doctor; if a tool is missing, rerun the installer.
  • Login not applied — the import must be a Netscape-format cookies.txt (use the Get cookies.txt LOCALLY extension).

Credits

GPL-3.0 · made by Nishal.M