Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
npm-dep-tree-analyzer
Advanced tools
A powerful TypeScript library for analyzing npm package dependencies, providing comprehensive dependency tree analysis and visualization with hoisting support.
npm install npm-dep-tree-analyzer
import { NpmDepTreeAnalyzer } from 'npm-dep-tree-analyzer';
const analyzer = new NpmDepTreeAnalyzer();
const result = await analyzer.analyze('next', '14.0.3');
// Print dependency tree
NpmDepTreeAnalyzer.printDependencyTree(result.dependencyTree);
// Print hoisted tree (similar to node_modules structure)
NpmDepTreeAnalyzer.printHoistedTree(result.hoistedTree);
import { NpmDepTreeAnalyzer } from 'npm-dep-tree-analyzer';
const analyzer = new NpmDepTreeAnalyzer({
registry: 'https://registry.npmmirror.com',
timeout: 30000,
headers: {
'User-Agent': 'npm-dep-tree-analyzer-example'
}
});
const packages = [
{ name: 'express', version: '4.18.2' },
{ name: 'react', version: '18.2.0' },
{ name: '@testing-library/react', version: '14.1.2' }
];
const result = await analyzer.analyze(packages);
// Print combined hoisted tree
NpmDepTreeAnalyzer.printHoistedTree(result.combined.hoistedTree);
// Print individual dependency trees
for (const [pkgKey, analysis] of result.individual) {
console.log(`\nDependency Tree for ${pkgKey}:`);
NpmDepTreeAnalyzer.printDependencyTree(analysis.dependencyTree);
}
NpmDepTreeAnalyzer
The main class for analyzing npm package dependencies.
interface NpmRegistryConfig {
registry?: string; // npm registry URL (default: 'https://registry.npmjs.org')
timeout?: number; // request timeout in milliseconds (default: 30000)
headers?: Record<string, string>; // custom headers for registry requests
}
analyze(packageName: string, version: string): Promise<AnalysisResult>
Analyzes a single package and returns its dependency information.
analyze(packages: Array<{ name: string, version: string }>): Promise<MultiPackageAnalysisResult>
Analyzes multiple packages and returns combined dependency information.
static printDependencyTree(node: DependencyNode): void
Prints a hierarchical view of the dependency tree.
static printHoistedTree(tree: HoistedTree): void
Prints a visualization of the hoisted dependency tree (similar to node_modules structure).
# Install dependencies
npm install
# Run tests
npm test
# Type checking
npm run type-check
# Build
npm run build
Apache-2.0
FAQs
A utility for analyzing npm package dependencies
The npm package npm-dep-tree-analyzer receives a total of 6 weekly downloads. As such, npm-dep-tree-analyzer popularity was classified as not popular.
We found that npm-dep-tree-analyzer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.