From 3d39d5852e69daa8fa9635546ecd9b9c324ebc86 Mon Sep 17 00:00:00 2001 From: Slava Kim Date: Fri, 9 May 2014 16:50:35 -0700 Subject: [PATCH] Allow constraint solver to work with versions of type "1.2.3+local" Also prevent it from infinite looping --- packages/constraint-solver/constraint-solver.js | 1 + packages/constraint-solver/resolver.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/constraint-solver/constraint-solver.js b/packages/constraint-solver/constraint-solver.js index 9269382ae8..967e622ea5 100644 --- a/packages/constraint-solver/constraint-solver.js +++ b/packages/constraint-solver/constraint-solver.js @@ -188,6 +188,7 @@ ConstraintSolver.PackagesResolver.prototype._getResolverOptions = var self = this; var semverToNum = function (version) { + version = version.split("+")[0]; var v = _.map(version.split('.'), function (x) { return parseInt(x); }); diff --git a/packages/constraint-solver/resolver.js b/packages/constraint-solver/resolver.js index 2fafd89009..be9615bc4a 100644 --- a/packages/constraint-solver/resolver.js +++ b/packages/constraint-solver/resolver.js @@ -295,7 +295,7 @@ ConstraintSolver.Resolver.prototype._propagateExactTransDeps = // Since exact transitive deps are put into choices, there is no need to // keep them in dependencies. - _.each(newChoices, function (uv) { + _.each(choices, function (uv) { dependencies = dependencies.remove(uv.name); });