defmodule EsimAccess.MixProject do use Mix.Project def project do [ app: :esim_access, version: "0.1.0", elixir: "~> 1.17", start_permanent: Mix.env() == :prod, description: "Elixir client for the eSIM Access wholesale reseller API. " <> "Order, query, top up, suspend, and cancel eSIM profiles " <> "across 185+ countries with typed responses and Phoenix webhook support.", package: package(), deps: deps(), docs: docs(), elixirc_paths: elixirc_paths(Mix.env()) ] end def application do [ extra_applications: [:logger] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp deps do [ {:req, "~> 0.5"}, {:jason, "~> 1.4"}, {:typed_struct, "~> 0.3"}, {:plug, "~> 1.14"}, {:bypass, "~> 2.1", only: :test}, {:ex_doc, "~> 0.34", only: :dev, runtime: false} ] end defp package do [ files: ~w(lib .formatter.exs mix.exs README* LICENSE*), licenses: ["MIT"], links: %{"GitHub" => "https://github.com/lambdachad/esimaccess"} ] end defp docs do [ main: "readme", extras: ["README.md"], source_url: "https://github.com/lambdachad/esimaccess", groups_for_modules: [ "API Endpoints": [ EsimAccess.Packages, EsimAccess.Orders, EsimAccess.Profiles, EsimAccess.Balance, EsimAccess.TopUp, EsimAccess.Webhook, EsimAccess.Sms, EsimAccess.Usage, EsimAccess.Locations ], "Webhook Handling": [ EsimAccess.Webhooks.Event, EsimAccess.Webhooks.Handler, EsimAccess.Webhooks.Plug ], Types: [ EsimAccess.Types, EsimAccess.Types.Package, EsimAccess.Types.LocationNetwork, EsimAccess.Types.Operator, EsimAccess.Types.OrderResponse, EsimAccess.Types.EsimProfile, EsimAccess.Types.PackageInfo, EsimAccess.Types.PaginationInfo, EsimAccess.Types.BalanceResponse, EsimAccess.Types.TopUpResponse, EsimAccess.Types.Location, EsimAccess.Types.SubLocation, EsimAccess.Types.UsageInfo ], "Webhook Events": [ EsimAccess.Webhooks.Event.OrderStatus, EsimAccess.Webhooks.Event.EsimStatus, EsimAccess.Webhooks.Event.SmdpEvent, EsimAccess.Webhooks.Event.DataUsage, EsimAccess.Webhooks.Event.ValidityUsage, EsimAccess.Webhooks.Event.CheckHealth ], Infrastructure: [ EsimAccess.Client, EsimAccess.Error ] ] ] end end