NPM.DepCheck (NPM v0.6.0)

Copy Markdown View Source

Detects unused and missing dependencies in a project.

Scans source files for require() and import statements, then compares against declared dependencies.

Summary

Functions

Analyzes a project for unused and missing dependencies.

Extracts package names from require/import statements in source code.

Normalizes a module specifier to a package name.

Scans JS/TS source files in a directory for imports.

Types

check_result()

@type check_result() :: %{unused: [String.t()], missing: [String.t()]}

Functions

check(project_dir)

@spec check(String.t()) :: {:ok, check_result()} | {:error, term()}

Analyzes a project for unused and missing dependencies.

extract_imports(source)

@spec extract_imports(String.t()) :: [String.t()]

Extracts package names from require/import statements in source code.

normalize_package_name(name)

@spec normalize_package_name(String.t()) :: String.t()

Normalizes a module specifier to a package name.

Handles scoped packages and deep imports.

scan_imports(project_dir)

@spec scan_imports(String.t()) :: MapSet.t()

Scans JS/TS source files in a directory for imports.