defmodule PolymarketClob.MixProject do use Mix.Project @version "0.2.0" @source_url "https://github.com/mdon/polymarket_clob" def project do [ app: :polymarket_clob, version: @version, elixir: "~> 1.18", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), description: description(), package: package(), docs: docs(), name: "PolymarketClob", source_url: @source_url ] end def application do [ extra_applications: [:logger, :crypto], mod: {PolymarketClob.Application, []} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp description do "Standalone Elixir client for the Polymarket CLOB API." end defp package do # Files included in the published Hex tarball. # # AGENTS.md and PACKAGE_PLAN.md are intentionally excluded: they are # internal AI/dev-process planning notes that are not authoritative for # users of the library. Including them would clutter the package and # confuse readers about what to trust as the public surface. # # ENDPOINT_COVERAGE.md is included because it is the canonical reference # for which py-clob-client-v2 endpoints this package wraps and at what # version of the audited Python commit. [ licenses: ["MIT"], files: ~w(lib scripts test/fixtures .formatter.exs mix.exs README.md LICENSE CHANGELOG.md ENDPOINT_COVERAGE.md), links: %{ "GitHub" => @source_url, "Polymarket Docs" => "https://docs.polymarket.com" } ] end defp docs do [ main: "PolymarketClob", source_ref: "v#{@version}", source_url: @source_url, extras: [ "README.md", "CHANGELOG.md", "ENDPOINT_COVERAGE.md" ] ] end defp deps do # `:websockex` and `:telemetry` were removed from direct deps in Phase 4.5 # because nothing under `lib/` references them: WebSocket clients are # intentionally out of scope for this package (see ENDPOINT_COVERAGE.md # ยง Out of Scope), and no `:telemetry.execute/3` calls exist in the # current source. `:telemetry` continues to be pulled in transitively by # Finch/Plug; reintroduce as a direct dep only when WS modules or # first-party telemetry instrumentation actually land. [ {:ex_keccak, "~> 0.7"}, {:ex_secp256k1, "~> 0.7"}, {:jason, "~> 1.4"}, {:req, "~> 0.5"}, {:plug, "~> 1.18", only: :test}, {:ex_doc, "~> 0.34", only: :dev, runtime: false} ] end end