on master help sign in
Trim down @laszlopandy's exception list

Good idea!

commitbe9f59afd026be2c135391d9d25de1a8766c837b authorEvan Czaplicki <info@elm-lang.org> dateWed 18 Nov 2015, 08:13 (11 years ago) parent247b258
1 file changed+23−56
src/Elm/Package.hs+23−56
src/Elm/Package.hs+23−56
@@ -57,7 +57,7 @@ fromString string =
5757 Left "You did not provide a project name (user/project)"
5858
5959 else if all (/='/') project then
60− Name user <$> validate project
60+ Name user <$> validateProjectName project
6161
6262 else
6363 Left "Expecting only one slash, separating the user and project name (user/project)"
@@ -72,61 +72,28 @@ whitelistedUppercaseName name =
7272 -- when uppercase letters were disallowed in package names.
7373 -- They should be considered deprecated and removed from this list once users
7474 -- migrate to using the lowercase versions of the names.
75− let whitelist =
76− [ "Apanatshka/elm-list-ndet"
77− , "Apanatshka/elm-signal-extra"
78− , "Bogdanp/elm-combine"
79− , "Dandandan/Easing"
80− , "Dandandan/parser"
81− , "JoeyEremondi/LoadAssets"
82− , "JoeyEremondi/elm-MultiDimArray"
83− , "JoeyEremondi/elm-SafeLists"
84− , "JoeyEremondi/elm-typenats"
85− , "JustusAdam/elm-path"
86− , "NoRedInk/elm-check"
87− , "NoRedInk/elm-lazy-list"
88− , "NoRedInk/elm-rails"
89− , "NoRedInk/elm-random-extra"
90− , "NoRedInk/elm-shrink"
91− , "NoRedInk/elm-string-extra"
92− , "NoRedInk/elm-task-extra"
93− , "TheSeamau5/GraphicsEngine"
94− , "TheSeamau5/elm-check"
95− , "TheSeamau5/elm-history"
96− , "TheSeamau5/elm-html-decoder"
97− , "TheSeamau5/elm-lazy-list"
98− , "TheSeamau5/elm-material-icons"
99− , "TheSeamau5/elm-quadtree"
100− , "TheSeamau5/elm-random-extra"
101− , "TheSeamau5/elm-rosetree"
102− , "TheSeamau5/elm-router"
103− , "TheSeamau5/elm-shrink"
104− , "TheSeamau5/elm-spring"
105− , "TheSeamau5/elm-task-extra"
106− , "TheSeamau5/elm-undo-redo"
107− , "TheSeamau5/flex-html"
108− , "TheSeamau5/selection-list"
109− , "TheSeamau5/typographic-scale"
110− , "ThomasWeiser/elmfire"
111− , "ThomasWeiser/elmfire-extra"
112− , "adam-r-kowalski/Elm-Css"
113− , "deadfoxygrandpa/Elm-Test"
114− , "heyLu/elm-format-date"
115− , "jterbraak/DateOp"
116− , "maxsnew/IO"
117− , "mgold/Elm-Align-Distribute"
118− , "mgold/Elm-Format-String"
119− , "mgold/Elm-Multiset"
120− , "mgold/Elm-Random-Sampling"
121− , "thSoft/ElmCache"
122− , "thSoft/ExternalStorage"
123− , "uehaj/IntRange"
124− ]
125− in
126− List.any (\x -> x == name) whitelist
127−
128−validate :: String -> Either String String
129−validate str =
75+ List.elem name
76+ [ "Easing"
77+ , "LoadAssets"
78+ , "elm-MultiDimArray"
79+ , "elm-SafeLists"
80+ , "GraphicsEngine"
81+ , "Elm-Css"
82+ , "Elm-Test"
83+ , "DateOp"
84+ , "IO"
85+ , "Elm-Align-Distribute"
86+ , "Elm-Format-String"
87+ , "Elm-Multiset"
88+ , "Elm-Random-Sampling"
89+ , "ElmCache"
90+ , "ExternalStorage"
91+ , "IntRange"
92+ ]
93+
94+
95+validateProjectName :: String -> Either String String
96+validateProjectName str =
13097 if elem ('-','-') (zip str (tail str)) then
13198 Left "There is a double dash -- in your package name. It must be a single dash."
13299