A VS Code extension that provides a powerful, organized view of your node_modules dependencies with version information, package sizes, module type detection, and smart grouping.
- Unified Package View: All instances of each package grouped together, regardless of where they're installed
- Version Conflict Detection: Easily spot when the same package has multiple versions installed
- Package Size Display: See the size of each package and total size across all instances
- Module Type Detection: Identify whether packages use ESM, CommonJS, or both (ESM+CJS)
- Dependency Classification:
- Direct (green): Listed in your
dependencies - Dev (blue): Listed in your
devDependencies - Peer (purple): Listed in your
peerDependencies - Transitive (gray): Installed as a dependency of another package
- Direct (green): Listed in your
- Location Tracking:
- Hoisted: At the top-level
node_modules - Nested: Inside another package (version conflict)
- Workspace: In a monorepo sub-package
- Hoisted: At the top-level
- Filtering:
- Duplicates Only: Toggle to show only packages with multiple versions
- Exclude Patterns: Configure glob patterns to hide packages (e.g.,
@types/*)
- Multi-root Support: Works with monorepos and projects with multiple
node_modulesfolders - Quick Search: Press
Cmd+F(Mac) orCtrl+F(Windows/Linux) to search all packages - Click to Navigate: Click any package to open its
package.jsonand reveal it in the Explorer - Open in npm Registry: Right-click to open packages in npmjs.com or your custom internal registry
- Open a project with
node_modules - Find the "Node Modules Inspector" panel in the Explorer sidebar
- Browse packages or use the search icon to find specific packages
- Use the filter icon to show only packages with multiple versions
- Hover over items for detailed information
- Click to open
package.jsonfiles
Top-level packages show:
- Package name
- Version (or multiple versions if conflicts exist)
- Number of instances in parentheses
Expanded instances show:
- Location (root, workspace path, or nested path)
- Version
- Module type (ESM, CJS, or ESM+CJS)
- Package size
- VS Code 1.100.0 or higher
- A project with
node_modules
nodeModulesInspector.primaryRegistry: Configure a primary npm registry for "Open in npm"nodeModulesInspector.excludePatterns: Glob patterns for packages to hide from the view
For internal/private registries, add to your VS Code settings:
{
"nodeModulesInspector.primaryRegistry": {
"name": "Internal Registry",
"urlPattern": "https://npm.mycompany.com/package/{package}/"
}
}URL Pattern placeholders:
{package}: Full package name (e.g.,@scope/nameorlodash){scope}: Just the scope (e.g.,@scope){name}: Just the package name without scope
Hide noisy packages from the view:
{
"nodeModulesInspector.excludePatterns": [
"@types/*",
"eslint-*"
]
}- Refresh: Refresh the package list
- Search Packages: Search all packages (
Cmd+F/Ctrl+F) - Toggle Duplicates Only: Show only packages with multiple versions
- Clear Filters: Reset all active filters
- Open in npm Registry: Open package in configured registry
None yet! Please report issues on GitHub.
- Package size display
- Module type detection (ESM/CJS/ESM+CJS)
- Filter by duplicates only
- Exclude patterns setting
- Improved inline metadata display
- Code refactoring into modular files
- Unit test coverage
Initial release:
- Package grouping by name
- Dependency type detection
- Location type detection
- Multi-root workspace support
- Search functionality
Contributions welcome! Please open an issue or PR on GitHub.
MIT

