on master help sign in
Show error when diffing unpublished packages
bb267f9Evan Czaplicki
builder/src/Elm/Diff.hs+6−2
@@ -102,8 +102,12 @@ getPackageInfo =
102
102
103 Project.Pkg (Project.PkgInfo name _ _ _ _ _ _ _) ->
103 Project.Pkg (Project.PkgInfo name _ _ _ _ _ _ _) ->
104 do registry <- Cache.mandatoryUpdate
104 do registry <- Cache.mandatoryUpdate
105− let vsns = either (const []) id (Cache.getVersions name registry)
105+ case Cache.getVersions name registry of
106+ Right vsns ->
106− return ( summary, name, vsns )
107+ return ( summary, name, vsns )
108+
109+ Left _ ->
110+ throw E.Unpublished
107
111
108
112
109
113
builder/src/Reporting/Exit/Diff.hs+6
@@ -19,6 +19,7 @@ import qualified Reporting.Exit.Help as Help
19
19
20data Exit
20data Exit
21 = Application
21 = Application
22+ | Unpublished
22 | UnknownPackage Pkg.Name [Pkg.Name]
23 | UnknownPackage Pkg.Name [Pkg.Name]
23 | UnknownVersion Pkg.Name Pkg.Version [Pkg.Version]
24 | UnknownVersion Pkg.Name Pkg.Version [Pkg.Version]
24
25
@@ -37,6 +38,11 @@ toReport exit =
37 [ D.indent 4 $ D.green $ "elm diff elm/html 5.1.1 6.0.0"
38 [ D.indent 4 $ D.green $ "elm diff elm/html 5.1.1 6.0.0"
38 ]
39 ]
39
40
41+ Unpublished ->
42+ Help.report "UNPUBLISHED" Nothing
43+ "This package is not published yet. There is nothing to diff against!"
44+ []
45+
40 UnknownPackage pkg suggestions ->
46 UnknownPackage pkg suggestions ->
41 Help.report "UNKNOWN PACKAGE" Nothing
47 Help.report "UNKNOWN PACKAGE" Nothing
42 ( "I cannot find a package called:"
48 ( "I cannot find a package called:"