@@ -36,14 +36,15 @@ import qualified Reporting.Task as Task
3636install :: Pkg.Name -> Task.Task ()
3737install pkg =
3838 do (root, oldProject) <- Root.unsafeGet
39+ registry <- Cache.optionalUpdate
3940
4041 case oldProject of
4142 Project.App info ->
42− do changes <- makeAppPlan pkg info
43+ do changes <- makeAppPlan registry pkg info
4344 attemptElmJsonChange root oldProject Pkg.versionToString changes
4445
4546 Project.Pkg info ->
46− do changes <- makePkgPlan pkg info
47+ do changes <- makePkgPlan registry pkg info
4748 attemptElmJsonChange root oldProject Con.toString changes
4849
4950
@@ -106,8 +107,8 @@ data Changes vsn
106107 | Changes (Map.Map Pkg.Name (Change vsn)) Project.Project
107108
108109
109−makeAppPlan :: Pkg.Name -> Project.AppInfo -> Task.Task (Changes Pkg.Version)
110−makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
110+makeAppPlan :: Cache.PackageRegistry -> Pkg.Name -> Project.AppInfo -> Task.Task (Changes Pkg.Version)
111+makeAppPlan registry pkg info@(Project.AppInfo elm srcDirs deps test trans) =
111112 if Map.member pkg deps then
112113 return AlreadyInstalled
113114 else
@@ -123,8 +124,7 @@ makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
123124 Project.AppInfo elm srcDirs (Map.insert pkg vsn deps) test (Map.delete pkg trans)
124125
125126 Nothing ->
126− do registry <- Cache.optionalUpdate
127− changes <- addToApp registry pkg info
127+ do changes <- addToApp registry pkg info
128128
129129 let news = Map.mapMaybe keepNew changes
130130 let newDeps = addNews (Just pkg) news deps
@@ -135,8 +135,8 @@ makeAppPlan pkg info@(Project.AppInfo elm srcDirs deps test trans) =
135135 Project.AppInfo elm srcDirs newDeps newTest newTrans
136136
137137
138−makePkgPlan :: Pkg.Name -> Project.PkgInfo -> Task.Task (Changes Constraint)
139−makePkgPlan pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
138+makePkgPlan :: Cache.PackageRegistry -> Pkg.Name -> Project.PkgInfo -> Task.Task (Changes Constraint)
139+makePkgPlan registry pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
140140 if Map.member pkg deps then
141141 return AlreadyInstalled
142142 else
@@ -149,8 +149,7 @@ makePkgPlan pkg info@(Project.PkgInfo _ _ _ _ _ deps test _) =
149149 }
150150
151151 Nothing ->
152− do registry <- Cache.optionalUpdate
153− changes <- addToPkg registry pkg info
152+ do changes <- addToPkg registry pkg info
154153 let news = Map.mapMaybe keepNew changes
155154 return $ Changes changes $ Project.Pkg $
156155 info