GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - antfu/node-modules-inspector: Interactive UI for local node modules inspection

BranchesTags
Open more actions menu

Latest commit

 

History

528 Commits
528 Commits

Folders and files

NameName
Last commit message
Last commit date
.cursor
.cursor
 
 
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
packages
packages
 
 
skills/node-modules-inspector
skills/node-modules-inspector
 
 
test/e2e
test/e2e
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.stackblitzrc
.stackblitzrc
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
eslint.config.js
eslint.config.js
 
 
favicon.svg
favicon.svg
 
 
netlify.toml
netlify.toml
 
 
node-modules-inspector.config.ts
node-modules-inspector.config.ts
 
 
package.json
package.json
 
 
playwright.config.ts
playwright.config.ts
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 
tsconfig.json
tsconfig.json
 
 
vitest.config.ts
vitest.config.ts
 
 

Repository files navigation

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

  • This project is heavily inspired by npmgraph
  • Thanks to @wooorm for the module type detection algorithm in wooorm/npm-esm-vs-cjs
  • The logo is derivated from the 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.
  • Thanks to @privatenumber for pkg-size.dev for running analysis with installations in WebContainer.

Sponsors

Sponsors

License

MIT License © Anthony Fu

About

Interactive UI for local node modules inspection

node-modules.dev

Topics

devframedevtoolsinspectornode-modulesnpm

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing
Activity

Stars

3.0k stars

Watchers

11 watching

Forks

91 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.