Interactive UI for local node modules inspection
Visualize your node_modules, inspect dependencies, and more.
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, andbunprojects. We are counting on the community to bring support for other package managers.
You can also try an online version at node-modules.dev, powered by WebContainer.
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
})
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.
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.
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-duplicatesnmi:report-sizesnmi:report-maintainersInput/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 atskills/node-modules-inspector/SKILL.md(repo root) and is copied into the published tarball at<pkg>/skills/duringprepack. If your project usesskills-npm, the skill is automatically symlinked into your agent’s skill directory afterpnpm install.
black-hole-line-duotone icon (yeah it’s a black hole!) from the Solar Icon Sets by 480 Design and R4IN80W under the CC-BY 4.0 license.MIT License © Anthony Fu