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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@dxv/cli

v4.0.3

Published

A convenient command-line tool that wraps oxlint, dprint, tsc, and lightweight dependency audits

Readme

@dxv/cli

A convenient wrapper around:

Voltron, Frankenstein's monster, etcetera

Maintaining JavaScript projects is... a lot. I made dxv to make things a little easier.

I'm solving my own problems here, but if this is useful to you that's cool!

Install

npm install -g bare
npm i -D @dxv/cli

The CLI executes under the Bare runtime. Ensure the bare binary is available on your PATH before running any dxv commands.

Usage

Usage
dxv <command>

Commands
init     create config files in ./.config by default
lint     lint files with oxlint
fmt      format files with dprint
type	   run typescript to check types, emit definitions, etcetera
deps	   audit dependencies for missing/unused/outdated packages
help     show this help message

Options
--config, -c       specify config file location
--cwd              set working directory (default: os.cwd())
--update -c        update outdated dependencies when running `dxv deps`

Examples
dxv help                  # show this help message
dxv init                  # create config files in ./.config
dxv init .                # create config files in ./
dxv lint                  # lint with specific oxlint config
dxv format                # format with specific dprint config
dxv type                  # typecheck with specific tsconfig
dxv deps --update         # check dependencies and update

Configuration

We directly use the config files from each project:

  • dprint
  • Oxlint
  • TypeScript
  • npm outdated via a lightweight wrapper
  • package-lock.json metadata (if present) to distinguish direct vs transitive installs during dxv deps

Use a .config/ directory

By default dexv puts all those annoying little dotfiles out of the way in a ./.config directory.

You can specify an alternate location of config files:

dxv init .somewhere
dxv lint --config .somewhere/oxlintrc.json
dxv fmt  --config .somewhere/dprint.json
dxv type --config .somewhere/tsconfig.json
dxv deps --config .somewhere/dependencies.json

By default dxv init creates all the config files in .config/.

If you have other config files that could live in there, go for it. Keep things tidy. It's nice. Treat yourself.

Dependency checks read config from .config/dependencies.json, a JSON file that controls ignore lists and whether missing/unused/outdated checks run. It also supports a projectDirectories array when you need dxv to scan additional source roots (e.g. tests).

npm scripts

Recommended npm scripts:

"fmt": "dxv fmt -c .config/dprint.jsonc",
"lint": "dxv lint -c .config/oxlintrc.json",
"deps": "dxv deps -c .config/dependencies.json",
"type": "dxv type -c .config/tsconfig.json"

Maintainer scripts

npm run integration   # copy the tmp fixture into a scratch workspace and run fmt/lint/type/deps

The fixture intentionally lacks installed dependencies, so missing/unused warnings in this run are expected—it’s a smoke test that dxv reports issues rather than a failure.

Types and the types that type real hard

My usage of this tool is focused on writing types in jsdoc/tsdoc comments rather than using typescript itself. Because the tsconfig.json file is fully configurable per-project this shouldn't be a big deal, but there may be decisions at some point that make using type comments easier and using typescript harder. 🤷‍♂️

License

MIT