defmodule Snarkey.MixProject do use Mix.Project def project do [ app: :snarkey, version: "0.1.0", elixir: "~> 1.14", start_permanent: Mix.env() == :prod, deps: deps(), description: "Schnorr-based ZKP authentication via Fiat-Shamir with WebAuthn PRF passkey binding and blind-hashed identities", package: package(), source_url: "https://github.com/mwmiller/snarkey", docs: docs(), aliases: aliases() ] end def application do [extra_applications: [:logger]] end defp deps do [ {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false} ] end defp package do [ licenses: ["MIT"], maintainers: ["Matt Miller"], links: %{"GitHub" => "https://github.com/mwmiller/snarkey"}, files: ~w(lib config mix.exs LICENSE README.md snarkey.livemd) ] end defp docs do [ main: "Snarkey", extras: ["README.md", "snarkey.livemd"], groups_for_modules: [ Core: [Snarkey, Snarkey.Crypto, Snarkey.Proof], Identity: [Snarkey.Identity], Fallback: [Snarkey.Fallback] ] ] end defp aliases do [ check: [ "format --check-formatted", "credo --strict", "dialyzer", "test" ], precommit: [ "format --check-formatted", "credo --strict", "compile --force --warnings-as-errors", "test" ] ] end end