diff --git a/lib/esbuild.ex b/lib/esbuild.ex index 67cab50..314720e 100644 --- a/lib/esbuild.ex +++ b/lib/esbuild.ex @@ -188,6 +188,19 @@ defmodule Esbuild do |> elem(1) end + def json_library() do + case Application.get_env(:esbuild, :json_library) do + nil -> + case Code.ensure_loaded(JSON) do + {:module, _} -> JSON + {:error, _} -> Jason + end + + lib -> + lib + end + end + defp start_unique_install_worker() do ref = __MODULE__.Supervisor diff --git a/lib/esbuild/npm_registry.ex b/lib/esbuild/npm_registry.ex index b85ce77..7d68d06 100644 --- a/lib/esbuild/npm_registry.ex +++ b/lib/esbuild/npm_registry.ex @@ -37,7 +37,7 @@ defmodule Esbuild.NpmRegistry do } } = fetch_file!(url) - |> Jason.decode!() + |> Esbuild.json_library().decode!() %{"sig" => signature} = signatures