defmodule Flowfull.MixProject do use Mix.Project @version "0.1.2" @source_url "https://github.com/pubflow/flowfull-elixir" def project do [ app: :flowfull, version: @version, elixir: "~> 1.14", start_permanent: Mix.env() == :prod, deps: deps(), description: description(), package: package(), docs: docs(), name: "Flowfull", source_url: @source_url ] end def application do [ extra_applications: [:logger, :crypto] ] end defp deps do [ # HTTP client {:req, "~> 0.4"}, # JSON encoding/decoding {:jason, "~> 1.2"}, # Optional: Phoenix integration {:phoenix, "~> 1.7", optional: true}, {:phoenix_live_view, "~> 0.20 or ~> 1.0", optional: true}, # Development and testing {:ex_doc, "~> 0.31", only: :dev, runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:mox, "~> 1.1", only: :test} ] end defp description do """ A zero-dependency Elixir client library for Flowfull backends with built-in authentication, session management, and query building. Includes Phoenix integration for WebSockets and LiveView. """ end defp package do [ name: "flowfull", files: ~w(lib .formatter.exs mix.exs README.md LICENSE CHANGELOG.md), licenses: ["AGPL-3.0-only"], maintainers: ["Pubflow, Inc."], links: %{ "GitHub" => @source_url, "Homepage" => "https://pubflow.com", "Changelog" => "#{@source_url}/blob/main/CHANGELOG.md", "Documentation" => "https://hexdocs.pm/flowfull", "Funding" => "https://pubflow.com/dual-licensing", "Commercial License" => "https://pubflow.com/dual-licensing" } ] end defp docs do [ main: "readme", extras: ["README.md", "CHANGELOG.md", "QUICKSTART.md"], source_ref: "v#{@version}", source_url: @source_url ] end end