Package Exports
- @onamfc/pkg-inspect
- @onamfc/pkg-inspect/src/analyzer.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@onamfc/pkg-inspect) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Package Analyzer
CLI + API that scans a project and shows dependency size breakdowns locally.
Features
- Analyzes installed dependency sizes in
node_modules - Shows sorted list of dependencies by size
- Works as both a CLI tool and importable API
- Formatted table output or JSON
- Fast local analysis without external API calls
Installation
npm install -g @onamfc/pkg-inspectOr use directly with npx:
npx @onamfc/pkg-inspectCLI Usage
Analyze the current directory:
pkg-inspectAnalyze a specific project:
pkg-inspect /path/to/projectOutput as JSON:
pkg-inspect --jsonDisable colored output:
pkg-inspect --no-colorAPI Usage
import { analyzeProject, formatSize, formatResults } from '@onamfc/pkg-inspect';
// Analyze a project
const results = await analyzeProject('./my-project');
console.log(`Total size: ${formatSize(results.total)}`);
console.log(`Dependencies found: ${results.dependencies.length}`);
// Format and display results
console.log(formatResults(results));
// Access individual dependency data
results.dependencies.forEach(dep => {
console.log(`${dep.name}: ${formatSize(dep.size)}`);
});API Reference
analyzeProject(projectPath)
Analyzes dependencies in a project.
Parameters:
projectPath(string, optional) - Path to project directory. Defaults to current working directory.
Returns: Promise that resolves to:
{
total: 258254, // Total size in bytes
dependencies: [
{
name: "package-name",
version: "^1.0.0",
size: 123456 // Size in bytes
}
],
projectPath: "/path/to/project"
}formatSize(bytes)
Formats byte size to human-readable string.
Parameters:
bytes(number) - Size in bytes
Returns: String (e.g., "1.23 MB", "456.78 KB")
formatResults(results)
Formats analysis results as a readable table.
Parameters:
results(object) - Results fromanalyzeProject()
Returns: Formatted string ready to display
Example Output
📦 Package Size Analysis
────────────────────────────────────────────────────────────
Total Size: 252.20 KB
Package Size
────────────────────────────────────────────────────────────
commander 182.03 KB
picocolors 15.20 KB
ora 26.87 KB
────────────────────────────────────────────────────────────
💡 Top 3 largest dependencies:
1. commander
2. ora
3. picocolorsHow It Works
Unlike other packages that fetch data from npm, pkg-inspect analyzes your actual installed node_modules directory. This gives you:
- Real sizes after installation (not theoretical npm package sizes)
- Analysis of your specific version and dependencies
- No network requests needed
- Fast local analysis
License
MIT