Compiler.Dependencies
The algorithm for calculating the required dependencies of a project.
type alias SimplifiedOutline =
{ name : PackageName
, version : SemanticVersionRange
, dependencies : Dict String SemanticVersionRange
}
A simlified outline only contains the information that is required by the algorithm.
type Solution
= Complete
| Missing ({ name : PackageName, version : SemanticVersionRange })
| Conflict ({ name : PackageName, version1 : SemanticVersionRange, version2 : SemanticVersionRange })
Return value of solve. Let's you know if you've got all the required dependencies, or if you're missing something.
solve :
Array { name : PackageName
, version : SemanticVersionRange
}
-> Dict String SimplifiedOutline
-> Solution
Calculate the required dependencies of a project.