on master help sign in
Show error when diffing unpublished packages

Fix https://github.com/elm/compiler/issues/1702

commitbb267f956ef6a9d1dcb7ff27ba2386334195ac26 authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 23 May 2018, 17:33 (8 years ago) parent5e08bee
2 files changed+12−2
builder/src/Elm/Diff.hs+6−2 builder/src/Reporting/Exit/Diff.hs+6
builder/src/Elm/Diff.hs+6−2
@@ -102,8 +102,12 @@ getPackageInfo =
102102
103103 Project.Pkg (Project.PkgInfo name _ _ _ _ _ _ _) ->
104104 do registry <- Cache.mandatoryUpdate
105− let vsns = either (const []) id (Cache.getVersions name registry)
106− return ( summary, name, vsns )
105+ case Cache.getVersions name registry of
106+ Right vsns ->
107+ return ( summary, name, vsns )
108+
109+ Left _ ->
110+ throw E.Unpublished
107111
108112
109113
builder/src/Reporting/Exit/Diff.hs+6
@@ -19,6 +19,7 @@ import qualified Reporting.Exit.Help as Help
1919
2020data Exit
2121 = Application
22+ | Unpublished
2223 | UnknownPackage Pkg.Name [Pkg.Name]
2324 | UnknownVersion Pkg.Name Pkg.Version [Pkg.Version]
2425
@@ -37,6 +38,11 @@ toReport exit =
3738 [ D.indent 4 $ D.green $ "elm diff elm/html 5.1.1 6.0.0"
3839 ]
3940
41+ Unpublished ->
42+ Help.report "UNPUBLISHED" Nothing
43+ "This package is not published yet. There is nothing to diff against!"
44+ []
45+
4046 UnknownPackage pkg suggestions ->
4147 Help.report "UNKNOWN PACKAGE" Nothing
4248 ( "I cannot find a package called:"