diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 16729fd..f8a6f57 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,7 +6,7 @@ on: - main jobs: test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 env: MIX_ENV: test strategy: diff --git a/lib/esbuild.ex b/lib/esbuild.ex index 701407b..ee59812 100644 --- a/lib/esbuild.ex +++ b/lib/esbuild.ex @@ -175,7 +175,7 @@ defmodule Esbuild do opts = [ cd: config[:cd] || File.cwd!(), - env: config[:env] || %{}, + env: normalize_env(config[:env] || %{}), into: IO.stream(:stdio, :line), stderr_to_stdout: true ] @@ -324,4 +324,18 @@ defmodule Esbuild do end end end + + defp normalize_env(env) do + Map.new(env, fn + {key, value} when is_list(value) -> {key, Enum.join(value, path_sep())} + other -> other + end) + end + + defp path_sep do + case :os.type() do + {:win32, _} -> ";" + {:unix, _} -> ":" + end + end end