Reads a Mix project's direct dependencies and their locked versions.
Combines information from two sources:
mix.exs- identifies the direct dependencies of the project, their version requirements, and which Mix environments they belong to.mix.lock- provides the exact resolved versions currently locked.
Only Hex-sourced dependencies available in the :prod environment are
included by default. Git and path dependencies are excluded because they may
not have a corresponding page on hexdocs.pm. Extra packages requested via the
CLI can also be appended even when they are not present in the target
project's dependency tree.
Summary
Functions
Loads and returns the list of resolved direct Hex dependencies for the Mix
project at path.
Parses an extra package specification.
Functions
@spec load!( Path.t(), keyword() ) :: [ZealDocsets.Dep.t()]
Loads and returns the list of resolved direct Hex dependencies for the Mix
project at path.
Options
:include_dev- whentrue, also includes dependencies declared for the:devenvironment. Defaults tofalse.:include_test- whentrue, also includes dependencies declared for the:testenvironment. Defaults tofalse.:current_project- whentrue, reads dependency information from the currently loaded Mix project instead of reloading the project from disk. This is the supported mode whenzeal_docsetsis used as a dependency.:extra_packages- a list of extra Hex packages to include even when they are not declared inmix.exs. Each entry acceptsnameorname@version.
Returns
A list of %ZealDocsets.Dep{} structs sorted alphabetically by package name.
Each struct has a confirmed :hex source and a non-nil :version.
Raises
ArgumentErrorifmix.exsormix.lockare not found atpath.
Parses an extra package specification.
Accepted formats are package and package@version.