# NPM v0.5.3 - Table of Contents npm package manager for Elixir — resolve, fetch, and manage npm dependencies with Mix tasks. ## Pages - [NPM](readme.md) - [Changelog](changelog.md) ## Modules - [NPM](NPM.md): npm package manager for Elixir. - [NPM.Alias](NPM.Alias.md): Handle npm package aliases. - [NPM.Audit](NPM.Audit.md): Security audit for npm packages. - [NPM.Bin](NPM.Bin.md): Parses and manages package bin field entries. - [NPM.BinResolver](NPM.BinResolver.md): Resolve executable binaries from `node_modules/.bin/`. - [NPM.BundleAnalysis](NPM.BundleAnalysis.md): Analyzes package bundle-friendliness. - [NPM.BundleDeps](NPM.BundleDeps.md): Handles bundledDependencies in package.json. - [NPM.CI](NPM.CI.md): Strict frozen install for CI environments. - [NPM.CVE](NPM.CVE.md): CVE (Common Vulnerabilities and Exposures) cross-referencing. - [NPM.Cache](NPM.Cache.md): Global package cache. - [NPM.CacheStats](NPM.CacheStats.md): Provides statistics about the npm package cache. - [NPM.Changelog](NPM.Changelog.md): Detects and reads changelog files from installed packages. - [NPM.Compat](NPM.Compat.md): Checks compatibility of packages with a target Node.js version. - [NPM.Compiler](NPM.Compiler.md): Mix compiler that ensures npm packages are installed. - [NPM.Completion](NPM.Completion.md): Shell completion support for mix npm commands. - [NPM.Conditional](NPM.Conditional.md): Resolves conditional exports/imports from package.json. - [NPM.Config](NPM.Config.md): Read npm configuration from `.npmrc` files. - [NPM.Corepack](NPM.Corepack.md): Parses corepack/packageManager field from package.json. - [NPM.Dedupe](NPM.Dedupe.md): Analyzes and deduplicates npm dependency trees. - [NPM.DepCheck](NPM.DepCheck.md): Detects unused and missing dependencies in a project. - [NPM.DepConflict](NPM.DepConflict.md): Detects version conflicts between dependency groups. - [NPM.DepFreshness](NPM.DepFreshness.md): Analyzes how up-to-date dependencies are by comparing locked vs latest versions. - [NPM.DepGraph](NPM.DepGraph.md): Dependency graph operations on the lockfile. - [NPM.DepPath](NPM.DepPath.md): Resolves dependency paths in the node_modules tree. - [NPM.DepRange](NPM.DepRange.md): Analyzes dependency version ranges for pinning strategy insights. - [NPM.DepSort](NPM.DepSort.md): Topological sorting of packages for correct install/build order. - [NPM.DepStats](NPM.DepStats.md): Computes aggregate statistics across all dependencies. - [NPM.DepTree](NPM.DepTree.md): Build and query a dependency tree from the lockfile. - [NPM.Deprecation](NPM.Deprecation.md): Detects and reports deprecated packages in the dependency tree. - [NPM.DeprecationAnalysis](NPM.DeprecationAnalysis.md): Analyzes deprecation messages to extract replacement suggestions and categorize deprecation reasons. - [NPM.DepsOutput](NPM.DepsOutput.md): Formats installed npm packages for display, similar to `mix deps`. - [NPM.DevDeps](NPM.DevDeps.md): Manages devDependencies from package.json. - [NPM.Diagnostics](NPM.Diagnostics.md): Runs diagnostic checks on a project for common npm issues. - [NPM.Diff](NPM.Diff.md): Compares two versions of a package to show what changed. - [NPM.Dist](NPM.Dist.md): Handles package distribution metadata. - [NPM.Doctor](NPM.Doctor.md): Health check for the npm installation. - [NPM.Duplicate](NPM.Duplicate.md): Finds packages installed at multiple versions in the dependency tree. - [NPM.EngineCheck](NPM.EngineCheck.md): Checks engine compatibility across all installed packages. - [NPM.Engines](NPM.Engines.md): Parses and analyzes the `engines` field from package.json. - [NPM.EnvCheck](NPM.EnvCheck.md): Environment checks for npm_ex. - [NPM.ErrorMessage](NPM.ErrorMessage.md): Structured error formatting for npm operations. - [NPM.Exec](NPM.Exec.md): npx-style execution — resolve and run binaries from installed packages. - [NPM.Exports](NPM.Exports.md): Parse and resolve the `exports` field from `package.json`. - [NPM.FileSize](NPM.FileSize.md): Analyzes file sizes within installed packages. - [NPM.Format](NPM.Format.md): Formatting utilities for npm CLI output. - [NPM.FormatUtil](NPM.FormatUtil.md): Shared formatting utilities. - [NPM.Fund](NPM.Fund.md): Discovers and aggregates funding information from installed packages. - [NPM.Funding](NPM.Funding.md): Parses the `funding` field from package.json. - [NPM.GitInfo](NPM.GitInfo.md): Extracts git metadata for npm packages. - [NPM.Gitignore](NPM.Gitignore.md): Manages .gitignore entries for npm projects. - [NPM.GraphOps](NPM.GraphOps.md): Advanced graph operations on dependency graphs. - [NPM.Health](NPM.Health.md): Comprehensive project health scoring. - [NPM.HoistingConflict](NPM.HoistingConflict.md): Detects hoisting conflicts in the dependency tree. - [NPM.Hooks](NPM.Hooks.md): Hooks for integrating npm operations with Mix workflows. - [NPM.Ignore](NPM.Ignore.md): Parses .npmignore and .gitignore files for package publishing. - [NPM.Import](NPM.Import.md): Imports lockfiles from other package managers. - [NPM.ImportMap](NPM.ImportMap.md): Generates and manages import maps for browser-native ES module loading. - [NPM.Init](NPM.Init.md): Generates package.json files with sensible defaults. - [NPM.InstallStrategy](NPM.InstallStrategy.md): Determines and configures package installation strategy. - [NPM.Integrity](NPM.Integrity.md): Verify package integrity using Subresource Integrity (SRI) hashes. - [NPM.IntegrityCheck](NPM.IntegrityCheck.md): Verifies installed packages match lockfile entries. - [NPM.Keywords](NPM.Keywords.md): Analyzes package keywords for search and categorization. - [NPM.License](NPM.License.md): Scans and reports licenses across the dependency tree. - [NPM.Lifecycle](NPM.Lifecycle.md): Detect and manage npm lifecycle scripts. - [NPM.Link](NPM.Link.md): Manages local package linking via symlinks. - [NPM.Linker](NPM.Linker.md): Creates `node_modules` from the global cache. - [NPM.LockMerge](NPM.LockMerge.md): Merge two lockfiles, preferring entries from the newer lockfile. - [NPM.Lockfile](NPM.Lockfile.md): Read and write `npm.lock` lockfile. - [NPM.LockfileCheck](NPM.LockfileCheck.md): Validates lockfile consistency against package.json dependencies. - [NPM.LockfileStats](NPM.LockfileStats.md): Computes statistics about the lockfile itself. - [NPM.Manifest](NPM.Manifest.md): Generate a complete package manifest from `package.json`. - [NPM.ManifestDiff](NPM.ManifestDiff.md): Diffs two package.json manifests to determine what changed. - [NPM.Migration](NPM.Migration.md): Provides migration guidance between npm and lockfile versions. - [NPM.Monorepo](NPM.Monorepo.md): Detects monorepo tooling and structure. - [NPM.NodeModules](NPM.NodeModules.md): Inspect and query the `node_modules` directory. - [NPM.NodeVersion](NPM.NodeVersion.md): Parses Node.js version pinning files (.nvmrc, .node-version, .tool-versions). - [NPM.Normalize](NPM.Normalize.md): Normalizes package.json data. - [NPM.Npmrc](NPM.Npmrc.md): Parses and analyzes .npmrc configuration files. - [NPM.NpmrcMerge](NPM.NpmrcMerge.md): Multi-layer .npmrc resolution (project → user → global). - [NPM.OptionalDeps](NPM.OptionalDeps.md): Handles optionalDependencies in package.json. - [NPM.Os](NPM.Os.md): Checks package os/cpu field compatibility. - [NPM.Outdated](NPM.Outdated.md): Checks for outdated packages by comparing installed versions against the latest available versions on the registry. - [NPM.OutdatedReport](NPM.OutdatedReport.md): Generates formatted reports for outdated npm packages. - [NPM.Overrides](NPM.Overrides.md): Handles npm overrides for forcing specific package versions. - [NPM.Pack](NPM.Pack.md): Creates npm-compatible tarballs from local projects. - [NPM.PackageFiles](NPM.PackageFiles.md): Analyzes which files would be included when publishing a package. - [NPM.PackageJSON](NPM.PackageJSON.md): Read and write `package.json` files. - [NPM.PackageLock](NPM.PackageLock.md): Reads and analyzes npm's package-lock.json format. - [NPM.PackageQuality](NPM.PackageQuality.md): Scores individual package quality based on metadata completeness. - [NPM.PackageResolver](NPM.PackageResolver.md): Resolve bare and relative import specifiers to files on disk. - [NPM.PackageSpec](NPM.PackageSpec.md): Parse npm package specifiers into structured data. - [NPM.PackageUpdate](NPM.PackageUpdate.md): Computes available package updates by comparing locked vs latest versions. - [NPM.Packager](NPM.Packager.md): Create tarballs for npm publishing. - [NPM.Patch](NPM.Patch.md): Manages patched packages (patch-package style). - [NPM.PeerDep](NPM.PeerDep.md): Analyzes peer dependency declarations and their resolution status. - [NPM.PeerDeps](NPM.PeerDeps.md): Analyzes and validates peer dependency requirements. - [NPM.PeerDepsCheck](NPM.PeerDepsCheck.md): Deep peer dependency compatibility scanner. - [NPM.People](NPM.People.md): Extracts and analyzes author/contributor information from packages. - [NPM.PhantomDep](NPM.PhantomDep.md): Detects phantom (undeclared) dependencies. - [NPM.Platform](NPM.Platform.md): Platform compatibility checks for npm packages. - [NPM.ProgressReporter](NPM.ProgressReporter.md): Reports progress during npm operations (resolution, fetching, linking). - [NPM.ProjectInit](NPM.ProjectInit.md): Initializes an Elixir project for npm dependency management. - [NPM.Provenance](NPM.Provenance.md): Supply chain provenance checking for npm packages. - [NPM.Prune](NPM.Prune.md): Identifies and removes extraneous packages from node_modules. - [NPM.Publish](NPM.Publish.md): Validates a package before publishing to the registry. - [NPM.PublishConfig](NPM.PublishConfig.md): Parses the `publishConfig` field from package.json. - [NPM.Rebuild](NPM.Rebuild.md): Detects packages needing native rebuilds. - [NPM.Registry](NPM.Registry.md): HTTP client for the npm registry. - [NPM.RegistryMirror](NPM.RegistryMirror.md): Support for registry mirror URLs and fallback. - [NPM.RegistryUrl](NPM.RegistryUrl.md): Constructs registry API URLs for package operations. - [NPM.ReleaseNotes](NPM.ReleaseNotes.md): Extracts release notes from changelog content for specific version ranges. - [NPM.Report](NPM.Report.md): Generates comprehensive project dependency reports. - [NPM.Repository](NPM.Repository.md): Repository field parsing and URL generation from package.json. - [NPM.Resolutions](NPM.Resolutions.md): Handles yarn-style resolutions in package.json. - [NPM.Resolver](NPM.Resolver.md): `HexSolver.Registry` implementation for npm packages. - [NPM.SBOM](NPM.SBOM.md): Software Bill of Materials (SBOM) generation. - [NPM.Scope](NPM.Scope.md): Parses and manages npm package scopes. - [NPM.ScopeRegistry](NPM.ScopeRegistry.md): Resolve the registry URL for scoped packages. - [NPM.ScriptRunner](NPM.ScriptRunner.md): Analyzes and validates npm scripts from package.json. - [NPM.Scripts](NPM.Scripts.md): Reads and manages npm scripts from package.json. - [NPM.Search](NPM.Search.md): Local search functionality for installed packages. - [NPM.SemverUtil](NPM.SemverUtil.md): Utility functions for working with npm semver ranges. - [NPM.Shrinkwrap](NPM.Shrinkwrap.md): Implements npm shrinkwrap lockfile freezing. - [NPM.SideEffects](NPM.SideEffects.md): Analyzes the `sideEffects` field from package.json. - [NPM.Size](NPM.Size.md): Estimates install size and disk usage per package. - [NPM.SnapshotDiff](NPM.SnapshotDiff.md): Compares two lockfile snapshots to determine what changed. - [NPM.Stats](NPM.Stats.md): Collects statistics about the project's npm dependencies. - [NPM.SupplyChain](NPM.SupplyChain.md): Evaluates supply chain security posture of a project's dependencies. - [NPM.Tarball](NPM.Tarball.md): Download and extract npm package tarballs. - [NPM.Token](NPM.Token.md): Manages npm authentication tokens. - [NPM.Tree](NPM.Tree.md): Formats and renders dependency trees for display. - [NPM.TreeFormat](NPM.TreeFormat.md): Formats dependency trees for terminal display. - [NPM.TypeField](NPM.TypeField.md): Analyzes the `type` field from package.json. - [NPM.TypesCompanion](NPM.TypesCompanion.md): Suggests @types/* companion packages for dependencies that need TypeScript type definitions. - [NPM.TypesResolution](NPM.TypesResolution.md): Resolves DefinitelyTyped @types/ packages for TypeScript consumers. - [NPM.Validate](NPM.Validate.md): Validates package.json data against npm conventions. - [NPM.Validator](NPM.Validator.md): Validate `package.json` fields. - [NPM.Verify](NPM.Verify.md): Verifies that installed packages match the lockfile. - [NPM.VersionRange](NPM.VersionRange.md): Advanced version range manipulation. - [NPM.VersionUtil](NPM.VersionUtil.md): Utilities for npm version string manipulation. - [NPM.Why](NPM.Why.md): Explains why a package is installed by tracing through the dependency tree. - [NPM.Workspace](NPM.Workspace.md): Workspace management for npm monorepos. - [NPM.Workspaces](NPM.Workspaces.md): Discovers and validates npm workspace packages. ## Mix Tasks - [mix npm.audit](Mix.Tasks.Npm.Audit.md): Check installed packages for known security vulnerabilities. - [mix npm.cache](Mix.Tasks.Npm.Cache.md): Manage the global npm package cache. - [mix npm.check](Mix.Tasks.Npm.Check.md): Verify that the npm installation is consistent. - [mix npm.ci](Mix.Tasks.Npm.Ci.md): Install npm packages in CI mode. - [mix npm.clean](Mix.Tasks.Npm.Clean.md): Remove the `node_modules` directory. - [mix npm.completion](Mix.Tasks.Npm.Completion.md): Output shell completion data for npm tasks. - [mix npm.config](Mix.Tasks.Npm.Config.md): Display the current npm configuration. - [mix npm.dedupe](Mix.Tasks.Npm.Dedupe.md): Re-resolve dependencies to minimize duplicate packages. - [mix npm.deprecations](Mix.Tasks.Npm.Deprecations.md): Show deprecated packages in the current lockfile. - [mix npm.deps](Mix.Tasks.Npm.Deps.md): Lists installed npm packages in a format similar to `mix deps`. - [mix npm.diff](Mix.Tasks.Npm.Diff.md): Show what changed since the last `npm.lock` was committed. - [mix npm.doctor](Mix.Tasks.Npm.Doctor.md): Run diagnostics on the npm installation. - [mix npm.exec](Mix.Tasks.Npm.Exec.md): Execute a binary from `node_modules/.bin/`. - [mix npm.explain](Mix.Tasks.Npm.Explain.md): Explain why a package is installed. - [mix npm.fund](Mix.Tasks.Npm.Fund.md): Show funding information for installed packages. - [mix npm.get](Mix.Tasks.Npm.Get.md): Fetch npm packages from `npm.lock` without re-resolving. - [mix npm.info](Mix.Tasks.Npm.Info.md): Show information about an npm package from the registry. - [mix npm.init](Mix.Tasks.Npm.Init.md): Create a new `package.json` in the current directory. - [mix npm.install](Mix.Tasks.Npm.Install.md): Install npm packages. - [mix npm.licenses](Mix.Tasks.Npm.Licenses.md): List the license of each installed package. - [mix npm.link](Mix.Tasks.Npm.Link.md): Link a local package directory into `node_modules/`. - [mix npm.list](Mix.Tasks.Npm.List.md): List installed npm packages from `npm.lock`. - [mix npm.ls](Mix.Tasks.Npm.Ls.md): List installed npm packages from `npm.lock`. - [mix npm.outdated](Mix.Tasks.Npm.Outdated.md): Show npm packages with newer versions available. - [mix npm.pack](Mix.Tasks.Npm.Pack.md): Create a tarball of the current package. - [mix npm.prune](Mix.Tasks.Npm.Prune.md): Remove packages from `node_modules/` not listed in `npm.lock`. - [mix npm.publish](Mix.Tasks.Npm.Publish.md): Publish the current package to the npm registry. - [mix npm.rebuild](Mix.Tasks.Npm.Rebuild.md): Remove `node_modules/` and reinstall from the lockfile. - [mix npm.remove](Mix.Tasks.Npm.Remove.md): Remove an npm package from `package.json` and re-install. - [mix npm.run](Mix.Tasks.Npm.Run.md): Run a script defined in `package.json`. - [mix npm.search](Mix.Tasks.Npm.Search.md): Search for packages on the npm registry. - [mix npm.set](Mix.Tasks.Npm.Set.md): Set a configuration value in `.npmrc`. - [mix npm.shrinkwrap](Mix.Tasks.Npm.Shrinkwrap.md): Create an `npm-shrinkwrap.json` from the current `npm.lock`. - [mix npm.size](Mix.Tasks.Npm.Size.md): Analyze `node_modules` disk usage. - [mix npm.stats](Mix.Tasks.Npm.Stats.md): Display statistics about the npm dependency graph. - [mix npm.token](Mix.Tasks.Npm.Token.md): Display or verify npm authentication token status. - [mix npm.tree](Mix.Tasks.Npm.Tree.md): Display the full dependency tree from `npm.lock`. - [mix npm.uninstall](Mix.Tasks.Npm.Uninstall.md): Remove an npm package from `package.json` and re-install. - [mix npm.update](Mix.Tasks.Npm.Update.md): Update npm packages to the latest versions matching their ranges. - [mix npm.verify](Mix.Tasks.Npm.Verify.md): Check that `node_modules` matches `npm.lock`. - [mix npm.version](Mix.Tasks.Npm.Version.md): Display the installed version of npm_ex. - [mix npm.view](Mix.Tasks.Npm.View.md): View detailed information about a package from the registry. - [mix npm.why](Mix.Tasks.Npm.Why.md): Show why an npm package is in the dependency tree.