File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -31,7 +31,14 @@ defmodule Mix.Gleam do
3131 |> Enum . map ( & parse_dep! / 1 )
3232
3333 dev_deps =
34- Map . get ( json , "dev-dependencies" , % { } )
34+ case Map . has_key? ( json , "dev_dependencies" ) do
35+ true ->
36+ Map . get ( json , "dev_dependencies" , % { } )
37+
38+ # Old format, for compatibility purposes
39+ false ->
40+ Map . get ( json , "dev-dependencies" , % { } )
41+ end
3542 |> Enum . map ( & parse_dep! ( & 1 , only: [ :dev , :test ] ) )
3643
3744 with { :ok , name } <- Map . fetch ( json , "name" ) ,
@@ -122,7 +129,7 @@ defmodule Mix.Gleam do
122129
123130 defp fetch_gleam_version ( ) do
124131 case gleam ( [ "--version" ] ) do
125- { :ok , version } ->
132+ { :ok , "gleam " <> version } ->
126133 case Version . parse ( version ) do
127134 { :ok , parsed_version } ->
128135 { :ok , Version . to_string ( parsed_version ) }
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ defmodule Mix.GleamTest do
3838
3939 describe "Gleam export package-information format" do
4040 test "parse_config" do
41- config =
41+ { :ok , config } =
4242 % {
4343 "name" => "gael" ,
4444 "version" => "1.0.0" ,
@@ -47,7 +47,7 @@ defmodule Mix.GleamTest do
4747 "git_dep" => % { "git" => "../git_dep" , "ref" => "957b83b" } ,
4848 "gleam_stdlib" => % { "version" => ">= 0.18.0 and < 2.0.0" }
4949 } ,
50- "dev-dependencies " => % {
50+ "dev_dependencies " => % {
5151 "gleeunit" => % { "version" => ">= 1.0.0 and < 2.0.0" }
5252 } ,
5353 "erlang" => % {
@@ -72,6 +72,32 @@ defmodule Mix.GleamTest do
7272 ]
7373 }
7474 end
75+
76+ test "with old dev-dependencies format" do
77+ { :ok , config } =
78+ % {
79+ "name" => "gael" ,
80+ "version" => "1.0.0" ,
81+ "gleam" => ">= 1.8.0" ,
82+ "dependencies" => % {
83+ "gleam_stdlib" => % { "version" => ">= 0.18.0 and < 2.0.0" }
84+ } ,
85+ "dev-dependencies" => % {
86+ "gleeunit" => % { "version" => ">= 1.0.0 and < 2.0.0" }
87+ }
88+ }
89+ |> Mix.Gleam . parse_config ( )
90+
91+ assert config == % {
92+ name: "gael" ,
93+ version: "1.0.0" ,
94+ gleam: ">= 1.8.0" ,
95+ deps: [
96+ { :gleam_stdlib , ">= 0.18.0 and < 2.0.0" } ,
97+ { :gleeunit , ">= 1.0.0 and < 2.0.0" , only: [ :dev , :test ] }
98+ ]
99+ }
100+ end
75101 end
76102
77103 describe "integration with Mix" do
You can’t perform that action at this time.
0 commit comments