dependency-analyzer
Analyze and optimize project dependencies. Use when auditing npm packages, checking for vulnerabilities, finding outdated dependencies, analyzing bundle size, or detecting circular imports.
When & Why to Use This Skill
The Dependency Analyzer is a comprehensive Claude skill designed to audit, optimize, and secure JavaScript and TypeScript project dependencies. It automates the detection of security vulnerabilities, identifies outdated packages, analyzes bundle size impact, and resolves complex circular dependencies to ensure a robust and efficient codebase.
Use Cases
- Security Auditing: Automatically scan npm packages for known vulnerabilities and generate reports to maintain high security standards and mitigate risks.
- Performance Optimization: Analyze the impact of dependencies on the final bundle size and identify opportunities for tree-shaking and size reduction to improve application load times.
- Codebase Maintenance: Detect and resolve circular imports and find outdated packages to prevent technical debt and potential build failures.
- Compliance Management: Verify license compatibility across all project dependencies to ensure legal and organizational policy adherence.
- CI/CD Integration: Automate dependency health checks within deployment pipelines to prevent insecure or bloated code from reaching production.
| name | dependency-analyzer |
|---|---|
| description | "Analyze and optimize project dependencies. Use when auditing npm packages, checking for vulnerabilities, finding outdated dependencies, analyzing bundle size, or detecting circular imports." |
Dependency Analyzer
Comprehensive dependency analysis and optimization for JavaScript/TypeScript projects
Quick Commands
# Analyze all dependencies
npm run analyze:deps
# Find outdated packages
npm outdated --long
# Check for vulnerabilities
npm audit --audit-level=moderate
# Analyze bundle size impact
npx bundle-phobia-cli package-name
Core Functionality
Key Features
- Dependency Audit: Security vulnerabilities and outdated packages
- Bundle Analysis: Size impact and tree-shaking effectiveness
- Circular Detection: Find and resolve circular dependencies
- License Compliance: Verify license compatibility
- Update Strategy: Safe update recommendations
Detailed Information
For comprehensive details, see:
cat .claude/skills/dependency-analyzer/references/audit-guide.md
cat .claude/skills/dependency-analyzer/references/optimization-strategies.md
cat .claude/skills/dependency-analyzer/references/security-best-practices.md
Usage Examples
Example 1: Full Dependency Audit
import { DependencyAnalyzer } from '@j0kz/dependency-analyzer';
const analyzer = new DependencyAnalyzer();
const report = await analyzer.audit({
checkVulnerabilities: true,
checkOutdated: true,
checkLicenses: true,
checkBundleSize: true
});
console.log(report.summary);
Example 2: Find Circular Dependencies
const circles = await analyzer.findCircularDependencies();
if (circles.length > 0) {
console.log('Circular dependencies found:', circles);
}
Configuration
{
"dependency-analyzer": {
"autoFix": false,
"severity": "moderate",
"ignoreDev": false,
"maxBundleSize": "500kb",
"allowedLicenses": ["MIT", "Apache-2.0", "BSD-3-Clause"]
}
}
Integration with CI/CD
# GitHub Actions example
- name: Dependency Audit
run: |
npm audit --audit-level=moderate
npx @j0kz/dependency-analyzer audit --fail-on-high
Notes
- Integrates with npm, yarn, and pnpm
- Caches results for faster subsequent runs
- Supports monorepo structures
- Can generate SBOM (Software Bill of Materials)