NPM.OptionalDeps (NPM v0.6.0)

Copy Markdown View Source

Handles optionalDependencies in package.json.

Optional dependencies are installed if available but installation failures are ignored. Common for platform-specific packages.

Summary

Functions

Separates installed from missing optional deps.

Extracts optionalDependencies from package.json data.

Returns optional deps that are relevant for the current platform.

Checks if a package is an optional dependency.

Formats a summary of optional dependencies.

Functions

check_installed(pkg_data, lockfile)

@spec check_installed(map(), map()) :: %{
  installed: [String.t()],
  missing: [String.t()]
}

Separates installed from missing optional deps.

extract(arg1)

@spec extract(map()) :: map()

Extracts optionalDependencies from package.json data.

for_platform(pkg_data, os, cpu)

@spec for_platform(map(), String.t(), String.t()) :: map()

Returns optional deps that are relevant for the current platform.

optional?(name, pkg_data)

@spec optional?(String.t(), map()) :: boolean()

Checks if a package is an optional dependency.

summary(pkg_data)

@spec summary(map()) :: %{total: non_neg_integer(), names: [String.t()]}

Formats a summary of optional dependencies.