defmodule Terminalwire.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/terminalwire/elixir"
def project do
[
app: :terminalwire,
version: @version,
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
name: "Terminalwire",
source_url: @source_url,
docs: [main: "readme", extras: ["README.md"]],
# `mix test --cover` fails the build if total coverage drops below this
# floor. Standalone `mix test` (no corpus) is ~86%; the corpus matrix run is
# higher. Margin below the standalone actual absorbs cross-version variance.
# Raise as coverage improves; never lower silently.
test_coverage: [summary: [threshold: 85]]
]
end
def application do
[extra_applications: [:logger], mod: {Terminalwire.Application, []}]
end
defp deps do
[
{:msgpax, "~> 2.3"},
{:credo, "~> 1.7", only: :dev, runtime: false},
{:ex_doc, "~> 0.31", only: :dev, runtime: false}
]
end
defp description do
"Terminalwire v2 server for Elixir — the layer between your WebSocket " <>
"endpoint (Phoenix/Plug/Cowboy) and your CLI/terminal code. Stream a " <>
"command-line app from your server with no web API."
end
defp package do
[
maintainers: ["Brad Gessler"],
licenses: ["Apache-2.0"],
links: %{
"GitHub" => @source_url,
"Changelog" => "#{@source_url}/blob/main/CHANGELOG.md"
},
files: ~w(lib mix.exs README.md CHANGELOG.md LICENSE)
]
end
end