Skip to content

antfu/node-modules-inspector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

455 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Logo

Node Modules Inspector

npm version npm downloads bundle JSDocs License

Visualize your node_modules, inspect dependencies, and more.

Quick Start

Try it by running following command under your pnpm/npm/bun project.

pnpx node-modules-inspector
npx node-modules-inspector
bunx node-modules-inspector

Currently supports pnpm, npm, and bun projects. We are counting on the community to bring support for other package managers.

Online Version

You can also try an online version at node-modules.dev, powered by WebContainer.

Configuration

You can create a node-modules-inspector.config.ts file in your project root to configure the inspector's default behaviour.

import { defineConfig } from 'node-modules-inspector'

export default defineConfig({
  defaultFilters: {
    excludes: [
      'eslint',
    ],
  },
  defaultSettings: {
    moduleTypeSimple: true,
  },

  // Experimental publint.dev integration, default is false
  publint: true

  // ...see jsdoc for more options and details
})

Static Build

You can also build a static SPA of your current node_modules status:

pnpx node-modules-inspector build
npx node-modules-inspector build
bunx node-modules-inspector build

Then you can host the .node-modules-inspector folder with any static file server.

You can see a build for all Anthony Fu's packages at everything.antfu.dev.

CLI Reports

In addition to the web UI, the inspector exposes three machine-readable reports designed for shell pipelines and AI coding agents:

npx node-modules-inspector report duplicates   # packages installed in multiple versions
npx node-modules-inspector report sizes        # packages sorted by install size
npx node-modules-inspector report maintainers  # dep-upgrade opportunities + publint, grouped by consumer/author

Each command renders a pretty ANSI table by default. Add --json to emit JSON to stdout — progress logs go to stderr, so output is pipe-safe:

npx node-modules-inspector report duplicates --json | jq '.[].name'
npx node-modules-inspector report sizes --json --limit 10
npx node-modules-inspector report maintainers --json --sort migration --no-latest-only

Common options across all reports: --root <dir>, --config <file>, --depth <n>, --limit <n>. Run node-modules-inspector report --help for the full per-report flag set.

MCP Server

The same three reports are exposed as MCP tools for AI coding agents. Start the server over stdio:

npx node-modules-inspector mcp

Tools exposed:

  • nmi:report-duplicates
  • nmi:report-sizes
  • nmi:report-maintainers

Input/output JSON Schemas are auto-derived from the underlying valibot definitions and surfaced via tools/list. Wire it into Claude Code (or any MCP-compatible client) by adding node-modules-inspector mcp as a stdio server in your MCP config.

Note

An agent skill lives at skills/node-modules-inspector/SKILL.md (repo root) and is copied into the published tarball at <pkg>/skills/ during prepack. If your project uses skills-npm, the skill is automatically symlinked into your agent's skill directory after pnpm install.

Screenshots

Image Image Image

Credits

Sponsors

Sponsors

License

MIT License © Anthony Fu

About

Interactive UI for local node modules inspection

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors