@@ -22,9 +22,10 @@ module Reporting.Exit
22 , OutlineProblem(..)
22 , OutlineProblem(..)
24 , Details(..)
24 , Details(..)
25− , RegistryProblem(..)
26 , PackageProblem(..)
25 , PackageProblem(..)
27+ , RegistryProblem(..)
28 , Make(..)
29 , Make(..)
29 , BuildProblem(..)
30 , BuildProblem(..)
30 , BuildProjectProblem(..)
31 , BuildProjectProblem(..)
@@ -39,8 +40,13 @@ module Reporting.Exit
43+import qualified Data.ByteString as BS
44+import qualified Data.ByteString.UTF8 as BS_UTF8
42import qualified Data.List as List
45import qualified Data.List as List
43import qualified Data.NonEmptyList as NE
46import qualified Data.NonEmptyList as NE
47+import qualified Network.HTTP.Client as HTTP
48+import qualified Network.HTTP.Types.Header as HTTP
49+import qualified Network.HTTP.Types.Status as HTTP
45import qualified Elm.Constraint as C
51import qualified Elm.Constraint as C
46import qualified Elm.Magnitude as M
52import qualified Elm.Magnitude as M
@@ -107,8 +113,9 @@ initToReport exit =
110− InitRegistryProblem _ ->
116+ InitRegistryProblem problem ->
111− error "TODO InitRegistryProblem"
117+ toRegistryProblemReport "PROBLEM LOADING PACKAGE LIST" problem $
118+ "I need the list of published packages before I can start initializing projects"
@@ -119,12 +126,12 @@ data Diff
119 = DiffNoOutline
126 = DiffNoOutline
120 | DiffBadOutline Outline
127 | DiffBadOutline Outline
121 | DiffApplication
128 | DiffApplication
122− | DiffNoExposed
129+ | DiffNoExposed Pkg.Name
123 | DiffUnpublished
130 | DiffUnpublished
124 | DiffUnknownPackage Pkg.Name [Pkg.Name]
131 | DiffUnknownPackage Pkg.Name [Pkg.Name]
125 | DiffUnknownVersion Pkg.Name V.Version [V.Version]
132 | DiffUnknownVersion Pkg.Name V.Version [V.Version]
126 | DiffDocsProblem DocsProblem
133 | DiffDocsProblem DocsProblem
127− | DiffBadRegistry RegistryProblem
134+ | DiffMustHaveLatestRegistry RegistryProblem
128 | DiffBadDetails Details
135 | DiffBadDetails Details
129 | DiffBadBuild BuildProblem
136 | DiffBadBuild BuildProblem
@@ -137,23 +144,26 @@ diffToReport diff =
137 "I cannot find an elm.json so I am not sure what you want me to diff.\
144 "I cannot find an elm.json so I am not sure what you want me to diff.\
138 \ Normally you run `elm diff` from within a project!"
145 \ Normally you run `elm diff` from within a project!"
139 [ D.reflow $ "If you are just curious to see a diff, try running this command:"
146 [ D.reflow $ "If you are just curious to see a diff, try running this command:"
140− , D.indent 4 $ D.green $ "elm diff elm/html 5.1.1 6.0.0"
147+ , D.indent 4 $ D.green $ "elm diff elm/http 1.0.0 2.0.0"
143 DiffBadOutline outline ->
150 DiffBadOutline outline ->
144 toOutlineReport outline
151 toOutlineReport outline
146 DiffApplication ->
153 DiffApplication ->
147− Help.report "CANNOT DIFF APPLICATIONS" Nothing
154+ Help.report "CANNOT DIFF APPLICATIONS" (Just "elm.json")
148− "It looks like you are running `elm diff` on an application, but it\
155+ "Your elm.json says this project is an application, but `elm diff` only works\
149− \ only makes sense for packages that have been published. That way\
156+ \ with packages. That way there are previously published versions of the API to\
150− \ there is a fixed API to diff against."
157+ \ diff against!"
151 [ D.reflow $ "If you are just curious to see a diff, try running this command:"
158 [ D.reflow $ "If you are just curious to see a diff, try running this command:"
152− , D.indent 4 $ D.green $ "elm diff elm/html 5.1.1 6.0.0"
159+ , D.indent 4 $ D.dullyellow $ "elm diff elm/http 1.0.0 2.0.0"
155− DiffNoExposed ->
162+ DiffNoExposed pkg ->
156− error "TODO DiffNoExposed"
163+ Help.report "NO EXPOSED MODULES" (Just "elm.json")
164+ "Your elm.json has no \"exposed-modules\" which means there is no public API at\
165+ \ all right now! Try adding some modules back to this field."
158 DiffUnpublished ->
168 DiffUnpublished ->
159 Help.report "UNPUBLISHED" Nothing
169 Help.report "UNPUBLISHED" Nothing
@@ -191,8 +201,9 @@ diffToReport diff =
191 DiffDocsProblem problem ->
201 DiffDocsProblem problem ->
192 error "TODO DiffDocsProblem" problem
202 error "TODO DiffDocsProblem" problem
194− DiffBadRegistry problem ->
204+ DiffMustHaveLatestRegistry problem ->
195− error "TODO DiffBadRegistry" problem
205+ toRegistryProblemReport "PROBLEM UPDATING PACKAGE LIST" problem $
206+ "I need the latest list of published packages before I do this diff"
197 DiffBadDetails details ->
208 DiffBadDetails details ->
198 error "TODO DiffBadDetails" details
209 error "TODO DiffBadDetails" details
@@ -218,7 +229,13 @@ bumpToReport :: Bump -> Help.Report
218bumpToReport bump =
229bumpToReport bump =
219 case bump of
230 case bump of
220 BumpNoOutline ->
231 BumpNoOutline ->
221− error "TODO BumpNoOutline"
232+ Help.report "BUMP WHAT?" Nothing
233+ "I cannot find an elm.json so I am not sure what you want me to bump."
235+ "Elm packages always have an elm.json that says current the version number. If\
236+ \ you run this command from a directory with an elm.json file, I will try to bump\
237+ \ the version in there based on the API changes."
223 BumpBadOutline outline ->
240 BumpBadOutline outline ->
224 toOutlineReport outline
241 toOutlineReport outline
@@ -246,7 +263,8 @@ bumpToReport bump =
248 BumpMustHaveLatestRegistry problem ->
265 BumpMustHaveLatestRegistry problem ->
249− error "TODO BumpMustHaveLatestRegistry" problem
266+ toRegistryProblemReport "PROBLEM UPDATING PACKAGE LIST" problem $
267+ "I need the latest list of published packages before I can bump any versions"
251 BumpCannotFindDocs name version problem ->
269 BumpCannotFindDocs name version problem ->
252 error "TODO BumpCannotFindDocs" name version problem
270 error "TODO BumpCannotFindDocs" name version problem
@@ -315,7 +333,12 @@ publishToReport :: Publish -> Help.Report
315publishToReport publish =
333publishToReport publish =
316 case publish of
334 case publish of
317 PublishNoOutline ->
335 PublishNoOutline ->
318− error "TODO PublishNoOutline"
336+ Help.report "PUBLISH WHAT?" Nothing
337+ "I cannot find an elm.json so I am not sure what you want me to publish."
339+ "Elm packages always have an elm.json that states the version number,\
340+ \ dependencies, exposed modules, etc."
320 PublishBadOutline outline ->
343 PublishBadOutline outline ->
321 toOutlineReport outline
344 toOutlineReport outline
@@ -324,7 +347,8 @@ publishToReport publish =
324 error "TODO PublishBadDetails" problem
347 error "TODO PublishBadDetails" problem
326 PublishMustHaveLatestRegistry problem ->
349 PublishMustHaveLatestRegistry problem ->
327− error "TODO PublishMustHaveLatestRegistry" problem
350+ toRegistryProblemReport "PROBLEM UPDATING PACKAGE LIST" problem $
351+ "I need the latest list of published packages to make sure this is safe to publish"
329 PublishApplication ->
353 PublishApplication ->
330 Help.report "UNPUBLISHABLE" Nothing "I cannot publish applications, only packages!" []
354 Help.report "UNPUBLISHABLE" Nothing "I cannot publish applications, only packages!" []
@@ -713,11 +737,6 @@ data Details
713 | DetailsCannotBuildPackage Pkg.Name V.Version PackageProblem
737 | DetailsCannotBuildPackage Pkg.Name V.Version PackageProblem
717− = RP_Http Http.Error
721data PackageProblem
740data PackageProblem
722 = PP_BadEndpointRequest Http.Error
741 = PP_BadEndpointRequest Http.Error
723 | PP_BadEndpointContent
742 | PP_BadEndpointContent
@@ -727,6 +746,119 @@ data PackageProblem
753+ = RP_Http Http.Error
754+ | RP_Data String BS.ByteString
757+toRegistryProblemReport :: String -> RegistryProblem -> String -> Help.Report
758+toRegistryProblemReport title problem context =
761+ toHttpErrorReport title err context
764+ Help.report title Nothing (context ++ ", so I fetched:")
765+ [ D.indent 4 $ D.dullyellow $ D.fromChars url
767+ "I got the data back, but it was not what I was expecting. The response\
768+ \ body contains " ++ show (BS.length body) ++ " bytes. Here is the "
769+ ++ if BS.length body <= 76 then "whole thing:" else "beginning:"
770+ , D.indent 4 $ D.dullyellow $ D.fromChars $
771+ if BS.length body <= 76
772+ then BS_UTF8.toString body
773+ else take 73 (BS_UTF8.toString body) ++ "..."
775+ "Does this error keep showing up? Maybe there is something weird with your\
776+ \ internet connection. We have gotten reports that schools, businesses,\
777+ \ airports, etc. sometimes intercept requests and add things to the body\
778+ \ or change its contents entirely. Could that be the problem?"
782+toHttpErrorReport :: String -> Http.Error -> String -> Help.Report
783+toHttpErrorReport title err context =
785+ toHttpReport intro url details =
786+ Help.report title Nothing intro $
787+ D.indent 4 (D.dullyellow (D.fromChars url)) : details
790+ Http.BadUrl url reason ->
791+ toHttpReport (context ++ ", so I wanted to fetch:") url
792+ [ D.reflow $ "But my HTTP library is saying this is not a valid URL. It is saying:"
793+ , D.indent 4 $ D.fromChars reason
795+ "This may indicate that there is some problem in the compiler, so please open an\
796+ \ issue at https://github.com/elm/compiler/issues listing your operating system\
797+ \ version, the command you ran, the terminal output, and any additional information\
798+ \ that might help others reproduce the error."
801+ Http.BadHttp url httpExceptionContent ->
802+ case httpExceptionContent of
803+ HTTP.StatusCodeException response _ ->
805+ (HTTP.Status code message) = HTTP.responseStatus response
807+ toHttpReport (context ++ ", so I tried to fetch:") url
809+ ["But","it","came","back","as",D.red (D.fromInt code)]
810+ ++ map D.fromChars (words (BS_UTF8.toString message))
812+ "This may mean some online endpoint changed in an unexpected way, so if does not\
813+ \ seem like something on your side is causing this (e.g. firewall) please report\
814+ \ this to https://github.com/elm/compiler/issues with your operating system, Elm\
815+ \ version, the command you ran, the terminal output, and any additional information\
816+ \ that can help others reproduce the error!"
819+ HTTP.TooManyRedirects responses ->
820+ toHttpReport (context ++ ", so I tried to fetch:") url
821+ [ D.reflow $ "But I gave up after following these " ++ show (length responses) ++ " redirects:"
822+ , D.indent 4 $ D.vcat $ map toRedirectDoc responses
824+ "Is it possible that your internet connection intercepts certain requests? That\
825+ \ sometimes causes problems for folks in schools, businesses, airports, hotels,\
826+ \ and certain countries. Try asking for help locally or in a community forum!"
830+ toHttpReport (context ++ ", so I tried to fetch:") url
831+ [ D.reflow $ "But my HTTP library is giving me the following error message:"
832+ , D.indent 4 $ D.fromChars (show otherException)
834+ "Are you somewhere with a slow internet connection? Or no internet?\
835+ \ Does the link I am trying to fetch work in your browser? Maybe the\
836+ \ site is down? Does your internet connection have a firewall that\
837+ \ blocks certain domains? It is usually something like that!"
840+ Http.BadMystery url someException ->
841+ toHttpReport (context ++ ", so I tried to fetch:") url
842+ [ D.reflow $ "But I ran into something weird! I was able to extract this error message:"
843+ , D.indent 4 $ D.fromChars (show someException)
845+ "Is it possible that your internet connection intercepts certain requests? That\
846+ \ sometimes causes problems for folks in schools, businesses, airports, hotels,\
847+ \ and certain countries. Try asking for help locally or in a community forum!"
851+toRedirectDoc :: HTTP.Response body -> D.Doc
852+toRedirectDoc response =
854+ (HTTP.Status code message) = HTTP.responseStatus response
856+ case List.lookup HTTP.hLocation (HTTP.responseHeaders response) of
857+ Just loc -> D.red (D.fromInt code) <> " - " <> D.fromChars (BS_UTF8.toString loc)
858+ Nothing -> D.red (D.fromInt code) <> " - " <> D.fromChars (BS_UTF8.toString message)
@@ -818,7 +950,8 @@ detailsToReport details =
818 toOutlineReport outline
950 toOutlineReport outline
820 DetailsCannotGetRegistry problem ->
952 DetailsCannotGetRegistry problem ->
821− error "TODO DetailsCannotGetRegistry" problem
953+ toRegistryProblemReport "PROBLEM LOADING PACKAGE LIST" problem $
954+ "I need the list of published packages to figure out if your project has compatible dependencies"
823 DetailsCannotBuildPackage name version problem ->
956 DetailsCannotBuildPackage name version problem ->
824 error "TODO DetailsCannotBuildPackage" name version problem
957 error "TODO DetailsCannotBuildPackage" name version problem
@@ -949,13 +1082,14 @@ toOutlineReport :: Outline -> Help.Report
949toOutlineReport problem =
1082toOutlineReport problem =
950 case problem of
1083 case problem of
951 OutlineHasBadStructure decodeError ->
1084 OutlineHasBadStructure decodeError ->
952− Json.toReport "elm.json" (Json.FailureToReport toOutlineProblemReport) decodeError
1085+ Json.toReport "elm.json" (Json.FailureToReport toOutlineProblemReport) decodeError $
1086+ Json.ExplicitReason "I ran into a problem with your elm.json file."
954 OutlineHasBadSrcDirs dir dirs ->
1088 OutlineHasBadSrcDirs dir dirs ->
955 case dirs of
1089 case dirs of
957 Help.report "MISSING SOURCE DIRECTORY" (Just "elm.json")
1091 Help.report "MISSING SOURCE DIRECTORY" (Just "elm.json")
958− "The \"source-directories\" in your elm.json lists the following directory:"
1092+ "I need a valid elm.json file, but the \"source-directories\" field lists the following directory:"
959 [ D.indent 4 $ D.dullyellow $ D.fromChars dir
1093 [ D.indent 4 $ D.dullyellow $ D.fromChars dir
960 , D.reflow $
1094 , D.reflow $
961 "I cannot find it though. Is it missing? Is there a typo?"
1095 "I cannot find it though. Is it missing? Is there a typo?"
@@ -963,7 +1097,7 @@ toOutlineReport problem =
965 Help.report "MISSING SOURCE DIRECTORIES" (Just "elm.json")
1099 Help.report "MISSING SOURCE DIRECTORIES" (Just "elm.json")
966− "The \"source-directories\" in your elm.json lists the following directories:"
1100+ "I need a valid elm.json file, but the \"source-directories\" field lists the following directories:"
967 [ D.indent 4 $ D.dullyellow $ D.fromChars dir
1101 [ D.indent 4 $ D.dullyellow $ D.fromChars dir
968 , D.reflow $
1102 , D.reflow $
969 "I cannot find them though. Are they missing? Are there typos?"
1103 "I cannot find them though. Are they missing? Are there typos?"
@@ -971,21 +1105,21 @@ toOutlineReport problem =
972 OutlineNoPkgCore ->
1106 OutlineNoPkgCore ->
973 Help.report "MISSING DEPENDENCY" (Just "elm.json")
1107 Help.report "MISSING DEPENDENCY" (Just "elm.json")
974− "A package must have \"elm/core\" as a dependency. Try running:"
1108+ "I need a valid elm.json file, so I need to see an \"elm/core\" dependency in there. Try running:"
975 [ D.indent 4 $ D.green $ "elm install elm/core"
1109 [ D.indent 4 $ D.green $ "elm install elm/core"
976 , D.reflow "I need it for the default imports that make `List` and `Maybe` available."
1110 , D.reflow "I need it for the default imports that make `List` and `Maybe` available."
979 OutlineNoAppCore ->
1113 OutlineNoAppCore ->
980 Help.report "MISSING DEPENDENCY" (Just "elm.json")
1114 Help.report "MISSING DEPENDENCY" (Just "elm.json")
981− "An application must have \"elm/core\" as a dependency. Try running:"
1115+ "I need a valid elm.json file, so I need to see an \"elm/core\" dependency in there. Try running:"
982 [ D.indent 4 $ D.green $ "elm install elm/core"
1116 [ D.indent 4 $ D.green $ "elm install elm/core"
983 , D.reflow "It has some supporting code that is needed by every Elm application!"
1117 , D.reflow "It has some supporting code that is needed by every Elm application!"
986 OutlineNoAppJson ->
1120 OutlineNoAppJson ->
987 Help.report "MISSING DEPENDENCY" (Just "elm.json")
1121 Help.report "MISSING DEPENDENCY" (Just "elm.json")
988− "An application must have \"elm/json\" as a dependency. Try running:"
1122+ "I need a valid elm.json file, so I need to see an \"elm/json\" dependency in there. Try running:"
989 [ D.indent 4 $ D.green $ "elm install elm/json"
1123 [ D.indent 4 $ D.green $ "elm install elm/json"
990 , D.reflow "It helps me handle flags and ports."
1124 , D.reflow "It helps me handle flags and ports."
@@ -1005,9 +1139,9 @@ toOutlineProblemReport path source _ region problem =
1005 OP_BadType ->
1139 OP_BadType ->
1006 toSnippet "UNEXPECTED TYPE" Nothing
1140 toSnippet "UNEXPECTED TYPE" Nothing
1007 ( D.reflow $
1141 ( D.reflow $
1008− "I do not know how to process this type of elm.json file:"
1142+ "I got stuck while reading your elm.json file. I cannot handle a \"type\" like this:"
1009 , D.fillSep
1143 , D.fillSep
1010− ["Try","changing","the","type","to"
1144+ ["Try","changing","the","\"type\"","to"
1011 ,D.green "\"application\"","or",D.green "\"package\"","instead."
1145 ,D.green "\"application\"","or",D.green "\"package\"","instead."
@@ -1015,7 +1149,7 @@ toOutlineProblemReport path source _ region problem =
1015 OP_BadPkgName row col ->
1149 OP_BadPkgName row col ->
1016 toSnippet "INVALID PACKAGE NAME" (toHighlight row col)
1150 toSnippet "INVALID PACKAGE NAME" (toHighlight row col)
1017 ( D.reflow $
1151 ( D.reflow $
1018− "I ran into trouble with this package name:"
1152+ "I got stuck while reading your elm.json file. I ran into trouble with the package name:"
1019 , D.stack
1153 , D.stack
1020 [ D.fillSep
1154 [ D.fillSep
1021 ["Package","names","are","always","written","as"
1155 ["Package","names","are","always","written","as"
@@ -1053,7 +1187,7 @@ toOutlineProblemReport path source _ region problem =
1053 OP_BadVersion row col ->
1187 OP_BadVersion row col ->
1054 toSnippet "PROBLEM WITH VERSION" (toHighlight row col)
1188 toSnippet "PROBLEM WITH VERSION" (toHighlight row col)
1055 ( D.reflow $
1189 ( D.reflow $
1056− "I was expecting a version number here:"
1190+ "I got stuck while reading your elm.json file. I was expecting a version number here:"
1057 , D.fillSep
1191 , D.fillSep
1058 ["I","need","something","like",D.green "\"1.0.0\"","or",D.green "\"2.0.4\""
1192 ["I","need","something","like",D.green "\"1.0.0\"","or",D.green "\"2.0.4\""
1059 ,"that","explicitly","states","all","three","numbers!"
1193 ,"that","explicitly","states","all","three","numbers!"
@@ -1065,7 +1199,7 @@ toOutlineProblemReport path source _ region problem =
1065 C.BadFormat row col ->
1199 C.BadFormat row col ->
1066 toSnippet "PROBLEM WITH CONSTRAINT" (toHighlight row col)
1200 toSnippet "PROBLEM WITH CONSTRAINT" (toHighlight row col)
1067 ( D.reflow $
1201 ( D.reflow $
1068− "I was expecting a version constraint here:"
1202+ "I got stuck while reading your elm.json file. I do not understand this version constraint:"
1069 , D.stack
1203 , D.stack
1070 [ D.fillSep
1204 [ D.fillSep
1071 ["I","need","something","like",D.green "\"1.0.0 <= v < 2.0.0\""
1205 ["I","need","something","like",D.green "\"1.0.0 <= v < 2.0.0\""
@@ -1082,7 +1216,7 @@ toOutlineProblemReport path source _ region problem =
1082 if before == after then
1216 if before == after then
1083 toSnippet "PROBLEM WITH CONSTRAINT" Nothing
1217 toSnippet "PROBLEM WITH CONSTRAINT" Nothing
1084 ( D.reflow $
1218 ( D.reflow $
1085− "I ran into an invalid version constraint:"
1219+ "I got stuck while reading your elm.json file. I ran into an invalid version constraint:"
1086 , D.fillSep
1220 , D.fillSep
1087 ["Elm","checks","that","all","package","APIs","follow","semantic","versioning,"
1221 ["Elm","checks","that","all","package","APIs","follow","semantic","versioning,"
1088 ,"so","it","is","best","to","use","wide","constraints.","I","recommend"
1222 ,"so","it","is","best","to","use","wide","constraints.","I","recommend"
@@ -1095,7 +1229,7 @@ toOutlineProblemReport path source _ region problem =
1096 toSnippet "PROBLEM WITH CONSTRAINT" Nothing
1230 toSnippet "PROBLEM WITH CONSTRAINT" Nothing
1097 ( D.reflow $
1231 ( D.reflow $
1098− "I ran into an invalid version constraint:"
1232+ "I got stuck while reading your elm.json file. I ran into an invalid version constraint:"
1099 , D.fillSep
1233 , D.fillSep
1100 ["Maybe","you","want","something","like"
1234 ["Maybe","you","want","something","like"
1101 ,D.green $ "\"" <> D.fromVersion before <> " <= v < " <> D.fromVersion (V.bumpMajor before) <> "\""
1235 ,D.green $ "\"" <> D.fromVersion before <> " <= v < " <> D.fromVersion (V.bumpMajor before) <> "\""
@@ -1108,7 +1242,7 @@ toOutlineProblemReport path source _ region problem =
1108 OP_BadModuleName row col ->
1242 OP_BadModuleName row col ->
1109 toSnippet "PROBLEM WITH MODULE NAME" (toHighlight row col)
1243 toSnippet "PROBLEM WITH MODULE NAME" (toHighlight row col)
1110 ( D.reflow $
1244 ( D.reflow $
1111− "I was expecting a module name here:"
1245+ "I got stuck while reading your elm.json file. I was expecting a module name here:"
1112 , D.fillSep
1246 , D.fillSep
1113 ["I","need","something","like",D.green "\"Html.Events\""
1247 ["I","need","something","like",D.green "\"Html.Events\""
1114 ,"or",D.green "\"Browser.Navigation\""
1248 ,"or",D.green "\"Browser.Navigation\""
@@ -1120,7 +1254,7 @@ toOutlineProblemReport path source _ region problem =
1120 OP_BadModuleHeaderTooLong ->
1254 OP_BadModuleHeaderTooLong ->
1121 toSnippet "HEADER TOO LONG" Nothing
1255 toSnippet "HEADER TOO LONG" Nothing
1122 ( D.reflow $
1256 ( D.reflow $
1123− "This section header is too long:"
1257+ "I got stuck while reading your elm.json file. This section header is too long:"
1124 , D.fillSep
1258 , D.fillSep
1125 ["I","need","it","to","be"
1259 ["I","need","it","to","be"
1126 ,D.green "under",D.green "20",D.green "characters"
1260 ,D.green "under",D.green "20",D.green "characters"
@@ -1131,7 +1265,7 @@ toOutlineProblemReport path source _ region problem =
1131 OP_BadDependencyName row col ->
1265 OP_BadDependencyName row col ->
1132 toSnippet "PROBLEM WITH DEPENDENCY NAME" (toHighlight row col)
1266 toSnippet "PROBLEM WITH DEPENDENCY NAME" (toHighlight row col)
1133 ( D.reflow $
1267 ( D.reflow $
1134− "There is something wrong with this dependency name:"
1268+ "I got stuck while reading your elm.json file. There is something wrong with this dependency name:"
1135 , D.stack
1269 , D.stack
1136 [ D.fillSep
1270 [ D.fillSep
1137 ["Package","names","always","include","the","name","of","the","author,"
1271 ["Package","names","always","include","the","name","of","the","author,"
@@ -1150,7 +1284,7 @@ toOutlineProblemReport path source _ region problem =
1150 OP_BadLicense _ suggestions ->
1284 OP_BadLicense _ suggestions ->
1151 toSnippet "UNKNOWN LICENSE" Nothing
1285 toSnippet "UNKNOWN LICENSE" Nothing
1152 ( D.reflow $
1286 ( D.reflow $
1153− "I do not know about this type of license:"
1287+ "I got stuck while reading your elm.json file. I do not know about this type of license:"
1156 [ D.fillSep
1290 [ D.fillSep
@@ -1168,7 +1302,7 @@ toOutlineProblemReport path source _ region problem =
1168 OP_BadSummaryTooLong ->
1302 OP_BadSummaryTooLong ->
1169 toSnippet "SUMMARY TOO LONG" Nothing
1303 toSnippet "SUMMARY TOO LONG" Nothing
1170 ( D.reflow $
1304 ( D.reflow $
1171− "Your \"summary\" is too long:"
1305+ "I got stuck while reading your elm.json file. Your \"summary\" is too long:"
1172 , D.fillSep
1306 , D.fillSep
1173 ["I","need","it","to","be"
1307 ["I","need","it","to","be"
1174 ,D.green "under",D.green "80",D.green "characters"
1308 ,D.green "under",D.green "80",D.green "characters"
@@ -1179,7 +1313,7 @@ toOutlineProblemReport path source _ region problem =
1179 OP_NoSrcDirs ->
1313 OP_NoSrcDirs ->
1180 toSnippet "NO SOURCE DIRECTORIES" Nothing
1314 toSnippet "NO SOURCE DIRECTORIES" Nothing
1181 ( D.reflow $
1315 ( D.reflow $
1182− "You do not have any \"source-directories\" listed here:"
1316+ "I got stuck while reading your elm.json file. You do not have any \"source-directories\" listed here:"
1183 , D.fillSep
1317 , D.fillSep
1184 ["I","need","something","like",D.green "[\"src\"]"
1318 ["I","need","something","like",D.green "[\"src\"]"
1185 ,"so","I","know","where","to","look","for","your","modules!"
1319 ,"so","I","know","where","to","look","for","your","modules!"