Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
pghalliday committed Feb 22, 2016
1 parent 130439a commit f995d89
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,16 @@ rs.resolve.then(

The resolver works in passes. In each pass the following occurs:

1. Unfixed dependencies are queued for calculation
1. Uncalculated dependencies are queued for calculation
1. Available versions are cached for dependencies that have not been cached yet
1. Max satisfying versions are calculated for queued dependencies
1. If constraints can't be met due to a version of a dependency fixed in an earlier pass then the version of the conflicting dependency will be backtracked to the next earlier version (by adding a new constraint), dropped from the current state of the calculation and requeued for calculation
1. Any dependencies of a requeued calculation will also be dropped and requeued
1. Calculated versions are then added to to a queue to update the state with their dependencies
1. Dependencies are cached for the calculated versions that have not yet been cached
1. The new constraints from the dependencies are queued for recalculation after dropping the previous calculations and their dependencies
1. The new dependencies are queued for recalculation after dropping the previous calculations and their dependencies
1. Already queued caclulations are filtered to ensure that any orphaned libraries do not get recalculated - the recursive dropping of libraries can result in already queued calculations no longer being valid/required
1. The next pass starts again at step 2

Passes continue until there are no longer any calculations queued

Expand Down

0 comments on commit f995d89

Please sign in to comment.