mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
PackageResolver no longer loads data from the Catalog. Instead, it tells CatalogLoader what to load, and it sets up the Resolver based on what it finds in the CatalogCache. PackageResolver now creates the Resolver inside resolve(…). If the tool were to invoke resolve(…) multiple times on the same PackageResolver (which it doesn’t at the moment), the CatalogCache would persist, but not the Resolver. (Note that PackageResolver#resolve makes multiple calls to the same Resolver#resolve internally.) The purpose of this change is to stop using Resolver to store the dependency graph. Resolver will be replaced with a logic-solver-based implementation that will not represent the graph as is, but instead encode the graph as a satisfiability problem. Meanwhile, CatalogCache is better at storing the graph than Resolver was, because it is easy to populate, query, and serialize. This change brings us back to a functional “devel”.